-- MySQL dump 10.13  Distrib 8.0.33, for macos13.3 (x86_64)
--
-- Host: localhost    Database: stack_overflow
-- ------------------------------------------------------
-- Server version	8.0.33

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Dumping data for table `answers`
--

LOCK TABLES `answers` WRITE;
/*!40000 ALTER TABLE `answers` DISABLE KEYS */;
INSERT INTO `answers` VALUES ('07de5797-ea5d-4292-9df5-8ecdd0a4bbdc','<p>nstall the cors dependency and then use it is a middleware</p>\n<pre><code>app.use(cors());<br>\n</code></pre>\n<p>After this, if you make a request to your server, a new header will be returned as follows,</p>\n<p><code><em><strong>Access-Control-Allow-Origin: *</strong></em></code></p>\n<p>It determines which origins are allowed to access server resources over CORS.</p>\n<p>The * wildcard allows access from any origin or if you want to allow access to particular origin then add origin option to the middleware..</p>\n<pre><code>app.use(cors({<br>\n &nbsp;origin: \'http://localhost:3000\'<br>\n}));<br>\n</code></pre>\n<p>After this, if you make a request to your server, a new header will be returned as follows,<code><em><strong>Access-Control-Allow-Origin: http://localhost:3000</strong></em></code></p>','2023-05-27 10:59:54','2023-05-27 10:59:54','37aa72a0-4e4a-4f8f-bdaf-fd8a6444cdd0','bd508a12-8c71-4e0f-b25b-cc03a4466185'),('2cb5ce1c-8745-4a57-8bba-0611860802b8','<p>Function <code>map()</code> can be used only on <strong>array</strong>. In this situation it looks like <code>props.results</code> is not array or has not been set yet (this can happen if you are fetching data with Axios or something like that).</p>\n<p>I would recommend you to place something like this at the start of function:</p>\n<pre><code>if (!props.results) return \'no data\';<br>\nif (!Array.isArray(props.results)) return \'results are not array\'<br>\n</code></pre>\n<h3>after clarification</h3>\n<p>You get response on your <code>onreadystatechange</code> request which usualy comes in JSON or XML. I think your answer is stringified json. Try to use <code>JSON.parse(response)</code> in case of JSON or <code>(new DOMParser()).parseFromString(response,\"text/xml\")</code> in case of XML.</p>\n<p>In your component it may look like this</p>\n<pre><code>request.onreadystatechange = function() {<br>\n &nbsp;&nbsp;(this.readyState == 4 &amp;&amp; this.status == 200)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&amp;&amp; setAnswer([JSON.parse(this.responseText), true]);<br>\n};</code></pre>','2023-05-27 10:47:40','2023-05-27 10:47:40','ab9ae668-91d7-4d1d-8671-1a2d7e82c78d','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e'),('869821ab-b346-45a7-a2a8-ffccfdfee20c','<p>You need to use</p>\n<p><strong>npm install cors</strong></p>\n<p>var cors = require(\'cors\')</p>\n<p>app.use(cors())</p>\n<p>try this hope it will help to yo</p>','2023-05-27 10:59:05','2023-05-27 10:59:05','ab9ae668-91d7-4d1d-8671-1a2d7e82c78d','bd508a12-8c71-4e0f-b25b-cc03a4466185'),('8a77ec43-efaa-4292-a9eb-2de688bc68a5','<p>why this?</p>\n<p><br></p>','2023-05-27 09:36:23','2023-05-27 09:36:23','6e948275-83ae-418f-a456-9b9e7dafcd20','18b96219-5a3c-48c1-a4bd-17c6e64f2143'),('917956cf-4d62-4fd0-93b3-9616ecba5305','<p>Terminate the query with <code>\\G</code> <em><strong>in place of</strong></em> <code>;</code>. For example:</p>\n<pre><code>SELECT * FROM sometable\\G<br>\n</code></pre>\n<p>This query displays the rows vertically, like this:</p>\n<pre><code>*************************** 1. row ***************************<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host: localhost<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Db: mydatabase1<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User: myuser1<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select_priv: Y<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert_priv: Y<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update_priv: Y<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br>\n*************************** 2. row ***************************<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Host: localhost<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Db: mydatabase2<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User: myuser2<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Select_priv: Y<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Insert_priv: Y<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update_priv: Y<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...</code></pre>','2023-05-29 01:36:17','2023-05-29 01:36:17','37aa72a0-4e4a-4f8f-bdaf-fd8a6444cdd0','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328'),('c0166764-fa15-450b-84dc-1decaf178d3a','<p>&nbsp;</p>\n<p>如果要在函数内修改全局变量，则需要使用 global 关键字在该函数内将其声明为全局变量。</p>\n<pre><code># Declare a global variable<br>\nx = 10<br>\n<br>\ndef read_global():<br>\n &nbsp;&nbsp;&nbsp;# You can read the global variable without declaring it as global<br>\n &nbsp;&nbsp;&nbsp;print(x)<br>\n<br>\ndef modify_global():<br>\n &nbsp;&nbsp;&nbsp;# If you want to modify the global variable, you need to declare it as global<br>\n &nbsp;&nbsp;&nbsp;global x<br>\n &nbsp;&nbsp;&nbsp;x = 20<br>\n<br>\nread_global() # prints: 10<br>\nmodify_global()<br>\nread_global() # prints: 20</code></pre>\n<p><br></p>','2023-05-30 02:43:09','2023-05-30 02:43:09','2a4fc063-1cbf-464d-a2a0-35f8972cc208','a62a40bb-3771-43ad-8386-af22b3c9a132'),('c15cbb19-0515-4fe4-b783-84c420b720ec','<p>Thiis is a test Answer..&nbsp;</p>\n<p>Feel free to anser anything !</p>','2023-05-27 08:13:14','2023-05-27 08:13:14','d1b8903c-7933-43fd-8405-f75d714fa186','7f54b47a-ee37-4e4b-becb-95793c853ae9'),('ca33fbe6-0926-43b5-a41b-449f77eae5b5','<pre><code>asdfasdfa\\</code></pre>\n<ol>\n  <li>asdfasdfasdf</li>\n  <li>asd</li>\n  <li>fasd</li>\n  <li>fa</li>\n  <li>sdf</li>\n  <li>asd</li>\n  <li>f</li>\n</ol>\n<blockquote>asdfasdfasdfa&nbsp;</blockquote>\n<p>hhh</p>\n<p>asdfa<u>asdfasdf</u></p>\n<p><em>asdfasdfasdf</em></p>','2023-05-27 09:32:34','2023-05-27 09:32:34','6e948275-83ae-418f-a456-9b9e7dafcd20','5b26dfa6-9c34-4beb-9069-ef7626fe72a8'),('cc94e65a-8b46-4853-9e46-08503210ccbb','<p>why this?</p>\n<p><br></p>','2023-05-27 09:35:39','2023-05-27 09:35:39','6e948275-83ae-418f-a456-9b9e7dafcd20','18b96219-5a3c-48c1-a4bd-17c6e64f2143'),('d4b97ebb-8723-4913-b474-bef0fd4e3f6b','<p><strong>Solution 1:</strong> Remove <strong>ONLY_FULL_GROUP_BY</strong> from mysql console</p>\n<p><br></p>\n<pre><code>mysql &gt; SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,\'ONLY_FULL_GROUP_BY\',\'\'))</code></pre>\n<p><strong>Solution 2:</strong> Remove <strong>ONLY_FULL_GROUP_BY</strong> from phpmyadmin</p>\n<ul>\n  <li>Open phpmyadmin &amp; select localhost&nbsp;</li>\n  <li>Click on menu Variables &amp; scroll down for sql mode</li>\n  <li>Click on edit button to change the values</li>\n  <li>&nbsp;&amp; remove <strong>ONLY_FULL_GROUP_BY</strong> &amp; click on&nbsp;</li>\n</ul>\n<p><br></p>','2023-05-27 09:40:55','2023-05-27 09:40:55','6e948275-83ae-418f-a456-9b9e7dafcd20','ef971245-218e-4420-a472-467516d9c49b');
/*!40000 ALTER TABLE `answers` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping data for table `comments`
--

LOCK TABLES `comments` WRITE;
/*!40000 ALTER TABLE `comments` DISABLE KEYS */;
INSERT INTO `comments` VALUES ('381eb491-1d9f-4246-9c56-e7b3545312e0','Access, not Acces, but you already have the cors middleware so no need to add headers manually... I believe the code you showed is not actually the code you run though, because you never imported cors, yet you are using it, so it should crash!','2023-05-27 10:59:20','2023-05-27 10:59:20','ab9ae668-91d7-4d1d-8671-1a2d7e82c78d','bd508a12-8c71-4e0f-b25b-cc03a4466185'),('402cee90-52d5-488e-ad1d-4eb4810ec003','This is a test comment form another user!','2023-05-27 09:29:12','2023-05-27 09:29:12','6e948275-83ae-418f-a456-9b9e7dafcd20','7f54b47a-ee37-4e4b-becb-95793c853ae9'),('49a936bb-79d1-4d56-a112-0dc8f2ae6346','This is another test comment!','2023-05-27 08:14:00','2023-05-27 08:14:00','d1b8903c-7933-43fd-8405-f75d714fa186','7f54b47a-ee37-4e4b-becb-95793c853ae9'),('53d4136c-dd34-4a79-9d7e-d6923de70bc1','Have you tried SET sql_mode = \'\'?','2023-05-27 09:39:57','2023-05-27 09:39:57','6e948275-83ae-418f-a456-9b9e7dafcd20','ef971245-218e-4420-a472-467516d9c49b'),('5f346bef-092f-4f33-9dd1-49f6db6e0137',' is this really a bug? Do the solutions provided here not solved the problem yet? ','2023-05-29 01:35:46','2023-05-29 01:35:46','3ae4b6b6-639c-487b-9139-ddd20f9ee5b4','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328'),('6c33a864-12a8-4f5f-8ae2-7d04ce80d4c6','Please console.log(props.results) in the first line, and add the result to the question','2023-05-27 10:46:42','2023-05-27 10:46:42','6e948275-83ae-418f-a456-9b9e7dafcd20','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e'),('7ba064c0-1456-4d7b-b7b5-398e21a61666','Why would you want to disable a mode that makes MySQL better comply with SQL standards, and one, too, that teaches you to be more careful in writing your queries?','2023-05-27 09:40:03','2023-05-27 09:40:03','6e948275-83ae-418f-a456-9b9e7dafcd20','ef971245-218e-4420-a472-467516d9c49b'),('9986f638-13b7-43fe-a011-cc895fc951d5','Try logging typeof results, my suspicion is that it\'s a string instead of an array','2023-05-27 10:47:27','2023-05-27 10:47:27','ab9ae668-91d7-4d1d-8671-1a2d7e82c78d','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e'),('a2b4b62c-1146-4e77-96e5-8b3133c250fd','The solution is for the developer to fix the bug that stops the terminal being expanded to wider than a single screen.','2023-05-29 01:35:30','2023-05-29 01:35:30','3ae4b6b6-639c-487b-9139-ddd20f9ee5b4','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328'),('af0a477c-bc1d-4f71-abdf-8d992bac7475','test commmm','2023-05-27 09:32:59','2023-05-27 09:32:59','6e948275-83ae-418f-a456-9b9e7dafcd20','5b26dfa6-9c34-4beb-9069-ef7626fe72a8'),('b4abc450-d14e-49a0-a874-b6cd76d1beaf','This is a test comment','2023-05-27 08:12:45','2023-05-27 08:12:45','d1b8903c-7933-43fd-8405-f75d714fa186','7f54b47a-ee37-4e4b-becb-95793c853ae9'),('b4abd424-a501-4308-a500-1be2a5db3616','As of Mysql 5.7 you may, alternatively, use the ANY_VALUE(column) function to retrofit your query. See doc here ','2023-05-27 09:40:11','2023-05-27 09:40:11','6e948275-83ae-418f-a456-9b9e7dafcd20','ef971245-218e-4420-a472-467516d9c49b'),('c2f4a5d3-163b-4dc5-ba5b-7d7d42b6b6ac','sounds like the first time it loads there is no data.... console.log(\"I am \", results); and see what it is ','2023-05-27 10:46:23','2023-05-27 10:46:23','6e948275-83ae-418f-a456-9b9e7dafcd20','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e'),('d1ed1e9a-bf1d-4417-99d6-666e8a8581c8','... look at the code','2023-05-27 10:46:35','2023-05-27 10:46:35','6e948275-83ae-418f-a456-9b9e7dafcd20','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e'),('d68781c4-50a1-46d3-b6d8-876e03067b53','why this?','2023-05-27 09:35:46','2023-05-27 09:35:46','6e948275-83ae-418f-a456-9b9e7dafcd20','18b96219-5a3c-48c1-a4bd-17c6e64f2143');
/*!40000 ALTER TABLE `comments` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping data for table `posts`
--

LOCK TABLES `posts` WRITE;
/*!40000 ALTER TABLE `posts` DISABLE KEYS */;
INSERT INTO `posts` VALUES ('0e6af673-be1b-403e-80a1-1bfb458b81f3','将代码从 Sublime Text 3 发送到 R Gui 仅有时有效','<p>&nbsp;<strong>0</strong></p>\n<p>我正在使用带有 R-box 和 SendCode 的 Sublime Text 3 将选定的行发送到 R GUI。但是，我经常按下<code>ctrl + enter</code>将代码发送到 R 什么也没有发生。在注册任何内容之前，我最终按了数十次命令。</p>\n<p>我已经按下<code>ctrl + shift + p</code>并选择了<code>R GUI</code>使用 SendCode 向其发送代码的程序。</p>\n<p>我更改的唯一其他设置如下：</p>\n<ol>\n  <li><code>SendCode.sublime-settings.json</code></li>\n</ol>\n<pre><code>{<br>\n &nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;\"prog\": \"r\",<br>\n &nbsp;&nbsp;&nbsp;\"r\":<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"bracketed_paste_mode\": false,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"prog\": \"r\"<br>\n &nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;\"r\" : \"C:\\\\Program Files\\\\R\\\\R-4.3.0\\\\bin\\\\x64\\\\Rgui.exe\",<br>\n}<br>\n</code></pre>\n<ol>\n  <li><code>R-Box.sublime-settings.json</code></li>\n</ol>\n<pre><code>{<br>\n &nbsp;&nbsp;&nbsp;\"rscript_binary\": \"C:\\\\Program Files\\\\R\\\\R-4.3.0\\\\bin\\\\x64\\\\Rscript.exe\"<br>\n &nbsp;&nbsp;&nbsp;}<br>\n</code></pre>\n<p>在我的旧电脑和我家的这些相同设置上，似乎可以正确发送代码。有任何想法吗？</p>\n<ul>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/r\" rel=\"tag\" title=\"显示标记为“r”的问题\">r</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/sublimetext\" rel=\"tag\" title=\"显示标记为“sublimetext”的问题\">升华文本</a></li>\n</ul>',1,'2023-05-31 02:35:45','2023-05-31 02:36:31','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('16ec2294-b3ea-424b-bcfa-5f85a9da558d','ceph集群中节点离线时如何解决这个问题','<p>&nbsp;</p>\n<p>我用三台机器搭建了一个ceph集群，如下：</p>\n<pre><code>[root@ceph1 8b0ba28e-801e-11ed-b851-d2dee7572980]# ceph -s<br>\n &nbsp;cluster:<br>\n &nbsp;&nbsp;&nbsp;id: &nbsp;&nbsp;&nbsp;&nbsp;8b0ba28e-801e-11ed-b851-d2dee7572980<br>\n &nbsp;&nbsp;&nbsp;health: HEALTH_WARN<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1 hosts fail cephadm check<br>\n <br>\n &nbsp;services:<br>\n &nbsp;&nbsp;&nbsp;mon: 3 daemons, quorum ceph1,ceph2,ceph3 (age 22m)<br>\n &nbsp;&nbsp;&nbsp;mgr: ceph2.pikqmz(active, since 54m), standbys: ceph1.icjrgs<br>\n &nbsp;&nbsp;&nbsp;mds: cephfs:1 {0=cephfs.ceph2.omkcaa=up:active} 2 up:standby<br>\n &nbsp;&nbsp;&nbsp;osd: 3 osds: 3 up (since 22m), 3 in (since 5M)<br>\n <br>\n &nbsp;data:<br>\n &nbsp;&nbsp;&nbsp;pools: &nbsp;&nbsp;3 pools, 97 pgs<br>\n &nbsp;&nbsp;&nbsp;objects: 39 objects, 7.6 MiB<br>\n &nbsp;&nbsp;&nbsp;usage: &nbsp;&nbsp;3.0 GiB used, 297 GiB / 300 GiB avail<br>\n &nbsp;&nbsp;&nbsp;pgs: &nbsp;&nbsp;&nbsp;&nbsp;97 active+clean<br>\n</code></pre>\n<p>然后我检查了节点的状态：</p>\n<pre><code>[root@ceph1 8b0ba28e-801e-11ed-b851-d2dee7572980]# ceph orch host ls<br>\nHOST &nbsp;&nbsp;ADDR &nbsp;&nbsp;LABELS &nbsp;STATUS &nbsp;&nbsp;<br>\nceph1 &nbsp;ceph1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Offline &nbsp;<br>\nceph2 &nbsp;ceph2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\nceph3 &nbsp;ceph3 &nbsp;&nbsp;&nbsp;<br>\n</code></pre>\n<p>ceph1离线了，ceph1离线怎么解决这个问题？</p>',0,'2023-05-31 02:45:39','2023-05-31 02:45:39','c501984d-c689-4507-af88-c679a934c981'),('18b96219-5a3c-48c1-a4bd-17c6e64f2143','ablblasdfkjasldfkj ','<pre><code>asdaf asdf asd asdf&nbsp;</code></pre>\n<p><br></p>\n<p>asdf asdf&nbsp;</p>\n<p><br></p>\n<ul>\n  <li>asd</li>\n  <li>a</li>\n  <li>a</li>\n  <li>a</li>\n</ul>\n<p>a</p>\n<p>a</p>\n<ol>\n  <li>a</li>\n  <li>a</li>\n  <li>a</li>\n  <li>a</li>\n</ol>\n<p><br></p>\n<p><br></p>',3,'2023-05-27 09:35:16','2023-05-29 01:33:42','6e948275-83ae-418f-a456-9b9e7dafcd20'),('1b497ecb-a424-4c16-ac48-41c8d9eb9908','Unity：当我只更改附加的 monoscript 时，为什么 Addressable 会检测到预制件更改？','<p>&nbsp;</p>\n<p>当我只更改附加的单脚本时，可寻址检测到预制件更改</p>\n<p>例如：我在 LevelView 预制件上附加了一个 monoscript。每当我更改此单脚本（例如：添加一行）然后运行“检查内容更新限制”时，它会显示 LevelView 预制件已更改。</p>\n<p>对于其他预制件，它给出相同的结果。</p>\n<p>这个预制件没有变化，形成源代码控制。</p>\n<p>我不希望发生这种情况。这是一个错误吗？我正在使用 addressables 1.20.5 Unity 2020.3.36</p>\n<p><img alt=\"在此处输入图像描述\" src=\"https://i.stack.imgur.com/zRcxd.png\"/></p>\n<p>昨晚看了addressable的源码，发现addressable会在这个asset的依赖发生变化的时候加上warning flag。</p>\n<p>在我的例子中，monoscript 是预制件的依赖项。因此，当我更改 monoscript 时，预制件会被标记。</p>\n<p>我不知道为什么 addressables 设计成这样？并且没有可供用户选择的可选案例。</p>',0,'2023-05-31 02:51:28','2023-05-31 02:51:28','c501984d-c689-4507-af88-c679a934c981'),('1b6ea9b0-7478-43f0-a23a-fb4d47ae5faa','applying pca as feature extraction on Cats and dogs dataset then building a feedforward neural network model as a classifier','<p>&nbsp;</p>\n<p>&nbsp;</p>\n<p>I will go straight into it, I need help with my graduation project. I\'m not the type of guy who once reaches a dead end or fail to do something, immediately reach for help, i do usually search and try to understand myself first, but this time i\'m a little bit lost and i just need guidance, I\'m not that guru especially in statistcs and numbers, I\'ve actually improved in it a lot since i started working on the project and studying pca so i can understand what it is and how to use it, yet i still don\'t get everything about it and i\'ve tried my best to understand it all but i guess i haven\'t totally grapsed it all.</p>\n<p>However. I have now a cats/dogs dataset which consists of 80 dogs and 80 cats images, in total 160 grayscale images, each image is a 64x64 pixels and a total of 4096 pixels as a row vector, the images are all centered and captures the dog/cat face in the middle.</p>\n<p>I\'ve applied pca in matlab on this dataset, to extract the important features out of images, and i got a coefficient/loadings matrix of 4096 x 159, and a score matrix of 160 x 159 principal components</p>\n<p>The pca results are not really that good, but fine. the first 3 pricipal components capture 50 percent of the variation, the scatter plot of the score matrix, you can somehow find a separation between dogs and cats samples</p>\n<p>As building the neural network model, i doubted myself about one thing that i didn\'t pay attention to at the beginning and i\'m not really sure about it, and also i haven\'t really gave myself enough time to study neural networks and how they work, i also don\'t totally grasp how neural networks work to be honest but i\'m trying to read and watch more articles and more videos to get it myself but still can\'t determine what parameters are best for my dataset and my pca input, how many hidden layers are needed, how many neurons in each layer, which activation function to use, and which backpropagation algorithm to use, learning rate, epochs and so on.</p>\n<p>But what got me fully doubted is this, Am i supposed to apply pca on only the training dataset and then multiply the test dataset images with the new eigenvectors and the new space or apply pca on the whole dataset without splitting it into two</p>\n<p>I\'ve actually applied PCA on the whole dataset and tried building the neural network and i\'m sometimes getting good results and other times bad results.</p>\n<p>I would really appreciate any guidance onto this problem, I just want to know what to look for and on what basis i\'m going to re-adjust the parameters of the neural network, I sometimes get very good results and other times bad ones, and i have no idea what caused this, im just changing the parameters and playing around with them, i have also set a fixed seed so weights are constant for each change but still don\'t get what\'s best/good for the neural network to work</p>',0,'2023-05-31 03:15:18','2023-05-31 03:15:18','228395d4-22a8-4ee1-8c83-f00ed0ff6365'),('1ccd259d-987c-4aa7-853b-5ffd61e8ab9a','How to get week wise data based on UTC date time in mongodb aggregate','<p>&nbsp;<strong>0</strong></p>\n<p>I have used mongoose nodejs to get the week wise data. I have data stored in UTC format, the sample data will be like below</p>\n<pre><code>Steps: {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;\"quantity\": 25,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;\"duration\": 100,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;\"endTime\": \"2023-05-18 01:25:53 +0000\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;\"startTime\": \"2023-05-18 01:25:52 +0000\"<br>\n},<br>\nleadId: 10<br>\n</code></pre>\n<p>From the set of data I am trying to get the week wise data while user pass timezone as IST, I need to get the data. For example, if user request data from 01-05-2023 to 31-05-2023 I need to query based on startTime from 30-04-2023 18:30:00 to 30-05-2023 18:29:59 (IST is +05:30).</p>\n<p>I am trying achieve with following aggregate query</p>\n<pre><code>activities.aggregate([ { \'$addFields\': { date: { \'$toDate\': \'$Steps.startTime\' } } }, { \'$match\': { Steps: { \'$ne\': null }, date: { \'$gte\': 2023-04-30T18:30:00.000Z, \'$lte\': 2023-05-29T18:29:59.000Z }, leadId: 38047 } }, { \'$group\': { _id: { startTime: \'$Steps.startTime\', endTime: \'$Steps.endTime\' }, doc: { \'$last\': \'$$ROOT\' } } }, { \'$group\': { _id: { \'$week\': \'$doc.date\' }, quantity: { \'$sum\': { \'$convert\': { input: \'$doc.Steps.quantity\', to: \'double\', onNull: 0, onError: \'\' } } }, duration: { \'$sum\': { \'$convert\': { input: \'$doc.Steps.duration\', to: \'double\', onNull: 0, onError: \'\' } } } } }, { \'$group\': { _id: null, docs: { \'$push\': \'$$ROOT\' } } }, { \'$project\': { docs: { \'$map\': { input: { \'$range\': [ { \'$week\': 2023-04-30T18:30:00.000Z }, { \'$week\': 2023-06-04T00:00:00.000Z } ] }, as: \'weekNumber\', in: { \'$let\': { vars: { index: { \'$indexOfArray\': [ \'$docs._id\', \'$$weekNumber\' ] } }, in: { \'$cond\': { if: { \'$eq\': [ \'$$index\', -1 ] }, then: { _id: \'$$weekNumber\', quantity: 0, duration: 0 }, else: { \'$arrayElemAt\': [ \'$docs\', \'$$index\' ] } } } } } } } } }, { \'$unwind\': \'$docs\' }, { \'$replaceRoot\': { newRoot: \'$docs\' } }, { \'$project\': { _id: \'$_id\', quantity: { \'$ifNull\': [ \'$quantity\', 0 ] }, duration: { \'$ifNull\': [ \'$duration\', 0 ] }, weekOfMonth: 1 } }], {})<br>\n</code></pre>\n<p>Here I am expecting query to run for current week from 27-05-2023 18:30:00 to 03-05-2023 18:29:59. But query is running for the current week from 28-05-2023 00:00:00 to 03-05-2023 11:59:59. Not converted datetime inside week range, it took data basis only. But I am expecting this to run based on date time with data conversion.</p>',0,'2023-05-31 02:53:45','2023-05-31 02:53:45','c501984d-c689-4507-af88-c679a934c981'),('25bd57a2-3a29-437c-a69d-df1fe2cc6227','InfluxDB 将差异查询从 InFluxQL 转换为 Flux','<p>&nbsp;<strong>0</strong></p>\n<p>我正在将报告从 InfluxQL 转换为 Flux 对于差异查询，我似乎无法正确执行此操作。</p>\n<p>这是我需要转换的差异查询</p>\n<pre><code>SELECT difference(last(\"value\")) / ($__interval_ms/1000) FROM \"sqlserver_performance\" WHERE (\"sql_instance\" =~ /^$Instance$/ AND \"counter\" = \'Logouts/sec\') AND $timeFilter GROUP BY time($__interval) fill(null)<br>\n</code></pre>\n<p>仅在下面查看文档是我的理解方式。查询没有失败，但它返回 NULL 我希望至少是 0，这让我相信这个查询有些不对劲</p>\n<pre><code>from(bucket: \"mssql\")<br>\n &nbsp;|&gt; range(start: v.timeRangeStart, stop: v.timeRangeStop)<br>\n &nbsp;|&gt; filter(fn: (r) =&gt; r[\"_measurement\"] == \"sqlserver_performance\")<br>\n &nbsp;|&gt; filter(fn: (r) =&gt; r[\"sql_instance\"] == \"ServerName\")<br>\n &nbsp;|&gt; filter(fn: (r) =&gt; r[\"_field\"] == \"value\")<br>\n &nbsp;|&gt; filter(fn: (r) =&gt; r[\"counter\"] == \"Logouts/sec\")<br>\n &nbsp;|&gt; map(fn: (r) =&gt; ({r with _value: r[\"Logouts/sec\"]/1000}) )<br>\n &nbsp;|&gt; aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)<br>\n &nbsp;|&gt; yield(name: \"mean\")<br>\n</code></pre>\n<p>我正在尝试绘制每秒注销的图表，以便我可以将其绘制在折线图上。</p>\n<ul>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/influxdb\" rel=\"tag\" title=\"显示标记为“influxdb”的问题\">涌入数据库</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/influxql\" rel=\"tag\" title=\"显示标记为“influxql”的问题\">涌入</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/flux-influxdb\" rel=\"tag\">flux-influxdb</a></li>\n</ul>',0,'2023-05-31 02:29:27','2023-05-31 02:29:27','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('25dca04a-7f15-46e4-a987-0b74a3a81921','如何让 DB::transaction 在尝试之间等待？','<p>&nbsp;</p>\n<p>我有一个在后台排队运行的预定导入过程。每次迭代都足够复杂，可以更好地在事务中运行以保持数据一致。一切顺利，过程按顺序执行。</p>\n<p>但有时用户可能会手动运行此进程的某些部分，在这种情况下，用户启动的进程可能会干扰后台进程并导致死锁。</p>\n<p>我试图通过将<strong>$attempts</strong>参数传递给<strong>DB::transaction()</strong>方法来减少死锁数量，但似乎所有尝试通常都是一个接一个地立即运行。避免死锁没有多大帮助，因为另一个进程通常没有时间完成它的一部分工作。</p>\n<p>所以，问题是——如何让它在下一次尝试让另一个进程完成他们的工作并释放锁定的表之前多等一会儿？到目前为止还没有在文档中找到任何东西。</p>\n<p><em>PS Of cause it\'d be better to optimize iteration to make transaction,但这种方法似乎花费太多时间和成本更多是合适的，所以我正在寻找快速的方法来修复它只是通过移动及时分开。第一步是安排这个过程的所有部分，一个接一个地链接起来。它有所帮助，但到目前为止，用户的活动仍然会导致死锁。</em></p>',0,'2023-05-31 02:58:42','2023-05-31 02:58:42','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('26ffef9a-49a7-4bac-a3ee-7ad7ff7f330e','如何在 MFC C++ 应用程序中使用 ActiveX RDP 客户端？','<p>&nbsp;</p>\n<p>我似乎无法找到您应该如何使用 ActiveX RDP 客户端的工作示例。我找到了<a href=\"https://learn.microsoft.com/en-us/windows/win32/termserv/using-remote-desktop-web-connection\" rel=\"nofollow noreferrer\"><u>Using the Remote Desktop ActiveX control</u></a>但它没有解释如何使用它。我能够建立连接，但由于大多数方法都返回<code>void</code>，您如何做一些事情，例如获取任何错误代码，或测试连接是否成功，检测断开连接等？</p>\n<p>我曾经让它在没有错误检查的情况下工作的是：</p>\n<pre><code>CMsRdpClientAdvancedSettings8 advancedSettings = m_ocx.get_AdvancedSettings6();<br>\n<br>\nm_ocx.put_Server (L\"192.168.1.2\"); // ip processor<br>\nm_ocx.put_UserName (L\"user\"); // handler username<br>\nm_ocx.put_Domain(L\"pc1\");<br>\nm_ocx.put_DesktopHeight (768); // Resolution<br>\nm_ocx.put_DesktopWidth (1024); // Resolution<br>\nadvancedSettings.put_SmartSizing (TRUE); // The size of the controlScalingThe Remote Desktop<br>\nadvancedSettings.put_AuthenticationLevel(2);<br>\nadvancedSettings.put_EnableCredSspSupport(FALSE); // TRUE); - super slow connection when enabled<br>\nm_ocx.put_ColorDepth(32);<br>\nm_ocx.put_DisconnectedText(_T(\"Disconnected\"));<br>\nm_ocx.put_ConnectingText (_T ( \"Please wait ...\")); // display text in the interface connection<br>\nm_ocx.Connect();<br>\n</code></pre>\n<ul>\n  <li><br></li>\n  <li><br></li>\n</ul>',0,'2023-05-31 03:00:45','2023-05-31 03:00:45','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('276d9d33-2994-44b9-b2fd-e93acecf8d64','如何在 PowerBI 中使用 DAX 计算四个星期的移动平均值？','<p>&nbsp;</p>\n<p>我有一个表，其中包含从项目级别到部门类别级别的不同粒度级别的产品和产品 ID 组的 POS。</p>\n<p>我想使用 DAX for Power BI 添加一个度量来计算前 4 周（不包括当前周）的移动平均值（如“P4W 的 POS”列中所示）。</p>',0,'2023-05-31 02:47:14','2023-05-31 02:47:14','c501984d-c689-4507-af88-c679a934c981'),('2b32dd8f-6a4a-4127-9671-e5c470f07892','为什么我的 Angular 应用程序不显示 websocket 图像提要，除非我调整窗口大小？','<p>&nbsp;</p>\n<p>对不起，这是我第一次和新角度，但我无法用之前提出的问题解决这个问题</p>\n<p>我有一个 websocket 连接，它每秒从节点后端发送图像 base64 字符串，以像相机馈送一样工作。在前端角度我有一个连接到 websocket 的服务。</p>\n<pre><code>export class CameraWebsocketService {<br>\n &nbsp;imageData: Subject&lt;string&gt; = new Subject&lt;string&gt;();<br>\n &nbsp;conn;<br>\n &nbsp;// private socket$ = new WebSocket(\'ws://192.168.5.100:8201/feed\');<br>\n<br>\n &nbsp;openSocket() {<br>\n &nbsp;&nbsp;&nbsp;this.conn = new WebSocket(\'ws://192.168.5.100:8201/feed\');<br>\n<br>\n &nbsp;&nbsp;&nbsp;this.conn.onopen = (event) =&gt; {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\'Opened live feed socket\');<br>\n &nbsp;&nbsp;&nbsp;};<br>\n<br>\n &nbsp;&nbsp;&nbsp;this.conn.onmessage = (event) =&gt; {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.imageData.next(\'data:image/jpg;base64,\' + event.data);<br>\n &nbsp;&nbsp;&nbsp;};<br>\n &nbsp;}<br>\n}<br>\n</code></pre>\n<p>当我尝试从组件访问图像时</p>\n<pre><code>export class CameraViewComponent implements OnInit {<br>\n &nbsp;constructor(<br>\n &nbsp;&nbsp;&nbsp;private ws: CameraWebsocketService<br>\n &nbsp;) {}<br>\n<br>\n &nbsp;apple = this.ws.imageData;<br>\n<br>\n &nbsp;ngOnInit(): void {<br>\n &nbsp;&nbsp;&nbsp;this.ws.openSocket();<br>\n &nbsp;}<br>\n}<br>\n</code></pre>\n<p>在 component.html 中 <code>&lt;img [src]=\"apple | async\" alt=\"\" /&gt;</code></p>\n<p>除非我调整窗口大小，否则它不会显示。我已经检查了源代码，可以看到 img 标签 src 正在更新，但它什么也没做。</p>\n<p>我试过像其他问题中的一些答案一样使用 changedetectorref 和 zone 但似乎无法弄清楚。</p>',0,'2023-05-31 02:33:48','2023-05-31 02:33:48','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('2ee92905-7363-4785-be87-a1f4c3c133fd','使用 selenium WebDriver 在 python 中执行点击','<p>&nbsp;<strong>0</strong></p>\n<p>我在网页上定义了一个按钮：</p>\n<pre><code>&lt;div class=\"form-group mt-3 mb-1 d-grid\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;button type=\"submit\" class=\"btn btn-lg btn-primary\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Login<br>\n &nbsp;&nbsp;&nbsp;&lt;/button&gt;<br>\n&lt;/div&gt;<br>\n</code></pre>\n<p>在 Python 中，我编写了这样的代码......</p>\n<pre><code>browser = webdriver.Safari(options=Options)<br>\nbrowser.get(url)<br>\nbrowser.find_element(\"xpath\",\"//*[contains(text(), \'Login\')]\").click()<br>\n</code></pre>\n<p>我得到下面的例外...</p>\n<pre><code>in check_response<br>\nraise exception_class(message, screen, stacktrace)<br>\nselenium.common.exceptions.ElementNotInteractableException: Message: <br>\n</code></pre>\n<p>如何自动点击登录按钮？</p>',0,'2023-05-31 02:40:10','2023-05-31 02:40:10','c501984d-c689-4507-af88-c679a934c981'),('31a3026b-d02c-4506-85d9-db296ec72b8e','是否可以使用 Markdown 修改 Marp 中代码块内代码的颜色？','<p>&nbsp;</p>\n<h1><strong>在 Markdown 中更改代码块内的颜色</strong></h1>\n<p>我开始使用 Marp 进行一些演示。现在我需要使用代码块，语法着色似乎不饱和且不可修改。（我在 VSCode 上）</p>\n<p>我尝试更改主题，但没有用。我不知道如何改变它（如果可能的话）</p>\n<p>由于我的低代表，我无法发布图片：/</p>\n<p>寻求帮助</p>',0,'2023-05-31 03:14:12','2023-05-31 03:14:12','228395d4-22a8-4ee1-8c83-f00ed0ff6365'),('33f55b6c-0c46-4b8c-8534-1bb7e0ef1fe9','尽管使用了 BR 标签，但 HTML/CSS 框中的文本不会中断。怎么修？','<p>&nbsp;</p>\n<p>我试图为我的模拟网站的主框制作的文本目前粘在一起，即使我有一个中断。</p>\n<p>我正在制作一个模拟网站，我需要在其中将一些文本放在一个框中，这通常很容易，但由于某种原因，这次无论我做什么，文本都不会换行，即使我在其中使用 BR。</p>',0,'2023-05-30 02:45:19','2023-05-30 02:45:19','2a4fc063-1cbf-464d-a2a0-35f8972cc208'),('373f2e97-af59-4847-967c-1d95dec18059','是否可以在现有网页之上构建自定义 webhooks？','<p>&nbsp;</p>\n<p>我想要做的是创建一个自定义层（我不确定是否应该调用中间件），它允许我在现有网页之上通过网络通信执行其他功能。</p>\n<p>目前，我正在使用<code>Puppeteer</code>运行网页并使用该<code>Page.on</code>方法在请求发生时执行我的自定义函数。</p>\n<h5><strong>例子</strong></h5>\n<p><code>javascript</code></p>\n<pre><code>&nbsp;const browser = await puppeteer.launch({headless: false, defaultViewport: null });<br>\n &nbsp;const page = await browser.newPage();<br>\n<br>\n &nbsp;await page.goto(\'http://example.com\');<br>\n<br>\n...<br>\n<br>\n &nbsp;page.on(\'request\', (req) =&gt; {<br>\n &nbsp;&nbsp;&nbsp;const request = {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header: req.headers(),<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;initiator: req.initiator(),<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;method: req.method(),<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;postData: parseJSON(req.postData()),<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url: req.url()<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;if(request.method === \"POST\" &amp;&amp; request.postData[\"message\"]) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;customFunction()<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;});<br>\n<br>\n</code></pre>\n<p>虽然这种方法按照我的设想工作，但我想构建另一个网页或桌面应用程序，我可以通过网络通信在现有网页上应用自定义回调函数。如果我的解释不够清楚，我深表歉意。</p>\n<p>任何建议将不胜感激！</p>',0,'2023-05-31 02:40:41','2023-05-31 02:40:41','c501984d-c689-4507-af88-c679a934c981'),('37edd9fc-6630-483b-9d15-dc3172c7239d','NodeJS 流在本地工作但不在服务器上工作','<p>&nbsp;</p>\n<p>我正在收集流式响应并将其发送到前端。一切，包括流媒体，都在本地主机上正常工作。但是，在服务器上，后端会堆积所有事件，然后再将它们一起发送到前端。它甚至在等待 reader.on(\'end\') 事件。我在这里做错了什么？</p>\n<pre><code>const response = getStreamingResponse()<br>\n<br>\n &nbsp;&nbsp;&nbsp;const sseStream = new SseStream(req);<br>\n &nbsp;&nbsp;&nbsp;sseStream.pipe(res);<br>\n<br>\n &nbsp;&nbsp;&nbsp;const reader = response.body;<br>\n &nbsp;&nbsp;&nbsp;let answer = \"\";<br>\n<br>\n &nbsp;&nbsp;&nbsp;reader.on(\'data\', (data: any) =&gt; {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let decoded = new TextDecoder().decode(data);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;answer += decoded<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sseStream.write({ data });<br>\n &nbsp;&nbsp;&nbsp;});<br>\n<br>\n &nbsp;reader.on(\'end\', async () =&gt; {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(\"End of stream\");<br>\n<br>\n<br>\n//I have other fns like saving to Database here and then <br>\n<br>\n &nbsp;const buffer = Buffer.from(savedConversation?._id, \"utf-8\");<br>\n &nbsp;res.write(`conversationId: ${buffer.toString()}\\n\\n`);<br>\n &nbsp;sseStream.end();<br>\n<br>\n}<br>\n<br>\n</code></pre>',0,'2023-05-31 03:17:57','2023-05-31 03:17:57','228395d4-22a8-4ee1-8c83-f00ed0ff6365'),('3d03a6e1-79f5-4875-a8ae-34aed12f4ff1','Sonarqube 服务器中的重复项目密钥','<p>&nbsp;</p>\n<p>我们面临以下问题：我们无法在 Sonar 中更新项目密钥，错误消息如下： <a href=\"https://i.stack.imgur.com/rSF2D.png\" rel=\"nofollow noreferrer\"><u>错误 1</u></a>​​如果我尝试创建一个，它会告诉我发生了错误，但没有直接告诉我具有该密钥的项目已经存在. <a href=\"https://i.stack.imgur.com/5jQLU.png\" rel=\"nofollow noreferrer\"><u>错误创建</u></a></p>\n<p>我们在 SQ 的 dbo.projects 表中进行了搜索，显然没有弹出任何内容（duh）我们还查看了数据库的所有其余部分，发现我们的 dbo.components 表包含一些记录，这些记录是项目名称的证据过去一段时间存在。我们使用以下查询来获取结果： <code>select * FROM [SonarQube].[dbo].[components] where kee like \"PROJECT_NAME\"</code></p>\n<p>我的问题是：输出中出现的那些组件是什么？他们会阻止我们创建新项目吗？如果是，是否可以安全删除它们？如果不是，您还能建议调查什么？</p>',0,'2023-05-31 03:22:22','2023-05-31 03:22:22','62c54cdd-b570-4783-820f-429c123aae64'),('415492b8-0f52-4043-b6bd-fe8eb447369f','如何使用 curl 在受保护的分支中将 Gitlab 用户添加到“允许推送”？','<p>&nbsp;</p>\n<p><a href=\"https://i.stack.imgur.com/M2frX.png\" rel=\"nofollow noreferrer\"><u>我想在 Gitlab 中</u></a>使用 curl 设置在受保护分支的“允许合并”和“允许推送”部分中添加用户</p>\n<p>我试过这个命令，但它取代了所有现有用户。</p>\n<p><code>curl --header \"PRIVATE-TOKEN: [private token]\" --request POST \"http://gitlab.example.com/api/v4/projects/[project id]/protected_branches?name=[branch name]&amp;merge_access_level=40&amp;allowed_to_push%5B%5D%5Buser_id%5D=29&amp;allowed_to_push%5B%5D%5Buser_id%5D=30</code></p>\n<p>示例： 命令前：允许推送由 ID 1、2、3 的用户组成 命令后：允许推送由 ID 为 29、30 的用户组成 命令后的预期结果：允许推送由 ID 为 1、2、3 的用户组成, 29, 30</p>',0,'2023-05-31 02:38:23','2023-05-31 02:38:23','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('41dac1f4-d0c9-4fdb-8e13-d2a9638a4328','How to best display in Terminal a MySQL SELECT returning too many fields?','<p>I\'m using <a href=\"https://www.putty.org/\" rel=\"noreferrer\"><u>PuTTY</u></a> to run:</p>\n<pre><code>mysql&gt; SELECT * FROM sometable;<br>\n</code></pre>\n<p><code>sometable</code> has many fields and this results in many columns trying to be displayed in the terminal. The fields wrap onto the next line so it is very hard to line up column titles with field values.</p>\n<p><strong>What solutions are there for viewing such data in terminal?</strong></p>\n<p>I don\'t have nor want access to phpMyAdmin - or any other GUI interfaces. I\'m looking for command-line solutions such as this one: <a href=\"http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/\" rel=\"noreferrer\"><u>Save MySQL Query results into text or CVS file</u></a></p>',5,'2023-05-29 01:34:59','2023-05-29 03:12:44','3ae4b6b6-639c-487b-9139-ddd20f9ee5b4'),('53fde405-7cd7-4100-989e-c1d09b723513','Flask/Python/HTML：有没有办法让 HTML 表单返回列表或数组？','<p>&nbsp;</p>\n<p>似乎应该有一种更优雅的方法来执行以下操作：</p>\n<p>Python：</p>\n<pre><code>data_in = [request.form.get(\'xv1\'), request.form.get(\'xv2\'), request.form.get(\'xv3\'), request.form.get(\'xv4\'), request.form.get(\'xv5\'), request.form.get(\'xv6\'), request.form.get(\'xv7\')]<br>\n</code></pre>\n<p>HTML:</p>\n<pre><code>&nbsp;&lt;label for=\"maxvals\"&gt;&amp;nbsp;&lt;/label&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;Select Y max-value: &lt;/strong&gt;&lt;input type=\"number\" id=\"maxvals\" name=\"maxvals\" value=\"100\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/p&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 1:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv1\" name=\"xv1\" value=\"0\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 2:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv2\" name=\"xv2\" value=\"10\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 3:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv3\" name=\"xv3\" value=\"15\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 4:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv4\" name=\"xv4\" value=\"88\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 5:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv5\" name=\"xv5\" value=\"22\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 6:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv6\" name=\"xv6\" value=\"18\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;strong&gt;X value 7:&lt;/strong&gt; &lt;input type=\"number\" id=\"xv7\" name=\"xv7\" value=\"25\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/p&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;br&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;input type=\"submit\" value=\"Submit\"&gt; &amp;nbsp; &lt;a href=\"/graphapp\"&gt;Reset to Default Values&lt;/a&gt;<br>\n&lt;/form&gt;<br>\n</code></pre>\n<p>上面的解决方案有效，只是丑陋。</p>',0,'2023-05-31 02:58:04','2023-05-31 02:58:04','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('5631eb9c-5f63-4686-9f23-a66718f9bdb1','实施 Terraform Provider 时，我应该在哪里调用 API 的 validate() 端点？','<p>&nbsp;</p>\n<p>上下文：我正在使用<a href=\"https://developer.hashicorp.com/terraform/plugin/sdkv2\" rel=\"nofollow noreferrer\"><u>Terraform Plugin SDKv2</u></a>创建一个新的 Terraform Provider 。</p>\n<p>我阅读了<a href=\"https://developer.hashicorp.com/terraform/tutorials/providers/provider-create\" rel=\"nofollow noreferrer\"><u>教程</u></a>，但仍有疑问。</p>\n<p>想象一下我的 API 资源<code>Foo</code>有一个通用的 CRUD API 和一个验证 API 端点。</p>\n<p>我可以使用该验证端点来检查创建请求是否有效，这意味着我的请求不会返回请求<code>400</code>的状态代码<code>CREATE / POST</code>。</p>\n<p>我最初的想法是我可以调用它<code>resourceCreate()</code>：</p>\n<pre><code>func fooRead(...) {}<br>\nfunc fooCreate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {<br>\n &nbsp;// err := client.Validate(request)<br>\n &nbsp;// if err != nil { return diag.Errrof(\"error validating request\") }<br>\n &nbsp;...<br>\n &nbsp;// foo = client.Create(request)<br>\n}<br>\n</code></pre>\n<p>这是一个很好的开始，但是我注意到它只在 期间有效<code>terraform apply</code>，而在 期间无效<code>terraform plan</code>。</p>\n<p>有没有办法在不同的地方打电话<code>client.Validate(request)</code>，以便在阶段期间被调用<code>terraform plan</code>？</p>\n<p>我稍微搜索了一下，设法找到了<a href=\"https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/customizing-differences\" rel=\"nofollow noreferrer\"><u>CustomizeDiff</u></a>方法。把它移到那里是个好主意吗？</p>',0,'2023-05-31 03:00:02','2023-05-31 03:00:02','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('581551bc-6cd2-40aa-beb8-bd13f8752bd5','如何在netcore中的swagger描述中添加粗体字母','<p>&nbsp;</p>\n<p>如何在netcore中的swagger描述中添加粗体字母</p>\n<p>我已经尝试过但没有任何效果</p>\n<p>我不知道这是否可能。la version utilizada es 5.0.0</p>\n<p>我将进入添加了 3 /// 的文档</p>\n<p><code>/// &lt;summary&gt; /// Esta es una prueba &lt;strong&gt;NEGRITA 1&lt;/strong&gt;, __Negrita 2__, **Negrita 3**, _Negrita 4_, *Negrita 5*, &lt;remarks&gt;Negrita 6&lt;/remarks&gt;, &nbsp;/// &lt;b&gt;Negrita 7&lt;/b&gt;, &lt;code&gt;otro&lt;/code&gt;, ## titulo, # titulo 2 /// &lt;/summary&gt; /// &lt;returns&gt;&lt;/returns&gt;</code></p>',0,'2023-05-31 02:48:23','2023-05-31 02:48:23','c501984d-c689-4507-af88-c679a934c981'),('5b26dfa6-9c34-4beb-9069-ef7626fe72a8','A Nother Question from another user!','<p>---</p>\n<p>__Advertisement :)__</p>\n<p><br></p>\n<p>- __[pica](https://nodeca.github.io/pica/demo/)__ - high quality and fast image</p>\n<p>&nbsp;&nbsp;resize in browser.</p>\n<p>- __[babelfish](https://github.com/nodeca/babelfish/)__ - developer friendly</p>\n<p>&nbsp;&nbsp;i18n with plurals support and easy syntax.</p>\n<p><br></p>\n<p>You will like those projects!</p>\n<p><br></p>\n<p>---</p>\n<p><br></p>\n<p># h1 Heading 8-)</p>\n<p>## h2 Heading</p>\n<p>### h3 Heading</p>\n<p>#### h4 Heading</p>\n<p>##### h5 Heading</p>\n<p>###### h6 Heading</p>\n<p><br></p>\n<p><br></p>\n<p>## Horizontal Rules</p>\n<p><br></p>\n<p>___</p>\n<p><br></p>\n<p>---</p>\n<p><br></p>\n<p>***</p>\n<p><br></p>\n<p><br></p>\n<p>## Typographic replacements</p>\n<p><br></p>\n<p>Enable typographer option to see result.</p>\n<p><br></p>\n<p>(c) (C) (r) (R) (tm) (TM) (p) (P) +-</p>\n<p><br></p>\n<p>test.. test... test..... test?..... test!....</p>\n<p><br></p>\n<p>!!!!!! ???? ,, &nbsp;-- ---</p>\n<p><br></p>\n<p>\"Smartypants, double quotes\" and \'single quotes\'</p>\n<p><br></p>\n<p><br></p>\n<p>## Emphasis</p>\n<p><br></p>\n<p>**This is bold text**</p>\n<p><br></p>\n<p>__This is bold text__</p>\n<p><br></p>\n<p>*This is italic text*</p>\n<p><br></p>\n<p>_This is italic text_</p>\n<p><br></p>\n<p>~~Strikethrough~~</p>\n<p><br></p>\n<p><br></p>\n<p>## Blockquotes</p>\n<p><br></p>\n<p><br></p>\n<p>&gt; Blockquotes can also be nested...</p>\n<p>&gt;&gt; ...by using additional greater-than signs right next to each other...</p>\n<p>&gt; &gt; &gt; ...or with spaces between arrows.</p>\n<p><br></p>\n<p><br></p>\n<p>## Lists</p>\n<p><br></p>\n<p>Unordered</p>\n<p><br></p>\n<p>+ Create a list by starting a line with `+`, `-`, or `*`</p>\n<p>+ Sub-lists are made by indenting 2 spaces:</p>\n<p>&nbsp;&nbsp;- Marker character change forces new list start:</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;* Ac tristique libero volutpat at</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;+ Facilisis in pretium nisl aliquet</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;- Nulla volutpat aliquam velit</p>\n<p>+ Very easy!</p>\n<p><br></p>\n<p>Ordered</p>\n<p><br></p>\n<p>1. Lorem ipsum dolor sit amet</p>\n<p>2. Consectetur adipiscing elit</p>\n<p>3. Integer molestie lorem at massa</p>\n<p><br></p>\n<p><br></p>\n<p>1. You can use sequential numbers...</p>\n<p>1. ...or keep all the numbers as `1.`</p>\n<p><br></p>\n<p>Start numbering with offset:</p>\n<p><br></p>\n<p>57. foo</p>\n<p>1. bar</p>\n<p><br></p>\n<p><br></p>\n<p>## Code</p>\n<p><br></p>\n<p>Inline `code`</p>\n<p><br></p>\n<p>Indented code</p>\n<p><br></p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;// Some comments</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;line 1 of code</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;line 2 of code</p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;line 3 of code</p>\n<p><br></p>\n<p><br></p>\n<p>Block code \"fences\"</p>\n<p><br></p>\n<p>```</p>\n<p>Sample text here...</p>\n<p>```</p>\n<p><br></p>\n<p>Syntax highlighting</p>\n<p><br></p>\n<p>``` js</p>\n<p>var foo = function (bar) {</p>\n<p>&nbsp;&nbsp;return bar++;</p>\n<p>};</p>\n<p><br></p>\n<p>console.log(foo(5));</p>\n<p>```</p>\n<p><br></p>\n<p>## Tables</p>\n<p><br></p>\n<p>| Option | Description |</p>\n<p>| ------ | ----------- |</p>\n<p>| data &nbsp;&nbsp;| path to data files to supply the data that will be passed into templates. |</p>\n<p>| engine | engine to be used for processing templates. Handlebars is the default. |</p>\n<p>| ext &nbsp;&nbsp;&nbsp;| extension to be used for dest files. |</p>\n<p><br></p>\n<p>Right aligned columns</p>\n<p><br></p>\n<p>| Option | Description |</p>\n<p>| ------:| -----------:|</p>\n<p>| data &nbsp;&nbsp;| path to data files to supply the data that will be passed into templates. |</p>\n<p>| engine | engine to be used for processing templates. Handlebars is the default. |</p>\n<p>| ext &nbsp;&nbsp;&nbsp;| extension to be used for dest files. |</p>\n<p><br></p>\n<p><br></p>\n<p>## Links</p>\n<p><br></p>\n<p>[link text](http://dev.nodeca.com)</p>\n<p><br></p>\n<p>[link with title](http://nodeca.github.io/pica/demo/ \"title text!\")</p>\n<p><br></p>\n<p>Autoconverted link https://github.com/nodeca/pica (enable linkify to see)</p>\n<p><br></p>\n<p><br></p>\n<p>## Images</p>\n<p><br></p>\n<p>![Minion](https://octodex.github.com/images/minion.png)</p>\n<p>![Stormtroopocat](https://octodex.github.com/images/stormtroopocat.jpg \"The Stormtroopocat\")</p>\n<p><br></p>\n<p>Like links, Images also have a footnote style syntax</p>\n<p><br></p>\n<p>![Alt text][id]</p>\n<p><br></p>\n<p>With a reference later in the document defining the URL location:</p>\n<p><br></p>\n<p>[id]: https://octodex.github.com/images/dojocat.jpg &nbsp;\"The Dojocat\"</p>\n<p><br></p>\n<p><br></p>\n<p>## Plugins</p>\n<p><br></p>\n<p>The killer feature of `markdown-it` is very effective support of</p>\n<p>[syntax plugins](https://www.npmjs.org/browse/keyword/markdown-it-plugin).</p>\n<p><br></p>\n<p><br></p>\n<p>### [Emojies](https://github.com/markdown-it/markdown-it-emoji)</p>\n<p><br></p>\n<p>&gt; Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:</p>\n<p>&gt;</p>\n<p>&gt; Shortcuts (emoticons): :-) :-( 8-) ;)</p>\n<p><br></p>\n<p>see [how to change output](https://github.com/markdown-it/markdown-it-emoji#change-output) with twemoji.</p>\n<p><br></p>\n<p><br></p>\n<p>### [Subscript](https://github.com/markdown-it/markdown-it-sub) / [Superscript](https://github.com/markdown-it/markdown-it-sup)</p>\n<p><br></p>\n<p>- 19^th^</p>\n<p>- H~2~O</p>\n<p><br></p>\n<p><br></p>\n<p>### [\\&lt;ins&gt;](https://github.com/markdown-it/markdown-it-ins)</p>\n<p><br></p>\n<p>++Inserted text++</p>\n<p><br></p>\n<p><br></p>\n<p>### [\\&lt;mark&gt;](https://github.com/markdown-it/markdown-it-mark)</p>\n<p><br></p>\n<p>==Marked text==</p>\n<p><br></p>\n<p><br></p>\n<p>### [Footnotes](https://github.com/markdown-it/markdown-it-footnote)</p>\n<p><br></p>\n<p>Footnote 1 link[^first].</p>\n<p><br></p>\n<p>Footnote 2 link[^second].</p>\n<p><br></p>\n<p>Inline footnote^[Text of inline footnote] definition.</p>\n<p><br></p>\n<p>Duplicated footnote reference[^second].</p>\n<p><br></p>\n<p>[^first]: Footnote **can have markup**</p>\n<p><br></p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;and multiple paragraphs.</p>\n<p><br></p>\n<p>[^second]: Footnote text.</p>\n<p><br></p>\n<p><br></p>\n<p>### [Definition lists](https://github.com/markdown-it/markdown-it-deflist)</p>\n<p><br></p>\n<p>Term 1</p>\n<p><br></p>\n<p>: &nbsp;&nbsp;Definition 1</p>\n<p>with lazy continuation.</p>\n<p><br></p>\n<p>Term 2 with *inline markup*</p>\n<p><br></p>\n<p>: &nbsp;&nbsp;Definition 2</p>\n<p><br></p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ some code, part of Definition 2 }</p>\n<p><br></p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;Third paragraph of definition 2.</p>\n<p><br></p>\n<p>_Compact style:_</p>\n<p><br></p>\n<p>Term 1</p>\n<p>&nbsp;&nbsp;~ Definition 1</p>\n<p><br></p>\n<p>Term 2</p>\n<p>&nbsp;&nbsp;~ Definition 2a</p>\n<p>&nbsp;&nbsp;~ Definition 2b</p>\n<p><br></p>\n<p><br></p>\n<p>### [Abbreviations](https://github.com/markdown-it/markdown-it-abbr)</p>\n<p><br></p>\n<p>This is HTML abbreviation example.</p>\n<p><br></p>\n<p>It converts \"HTML\", but keep intact partial entries like \"xxxHTMLyyy\" and so on.</p>\n<p><br></p>\n<p>*[HTML]: Hyper Text Markup Language</p>\n<p><br></p>\n<p>### [Custom containers](https://github.com/markdown-it/markdown-it-container)</p>\n<p><br></p>\n<p>::: warning</p>\n<p>*here be dragons*</p>\n<p>:::</p>\n<p><br></p>',2,'2023-05-27 09:31:24','2023-05-27 09:36:00','6e948275-83ae-418f-a456-9b9e7dafcd20'),('5f8828a8-293a-4c71-9873-f144864c3325','如何使用 DataStore 返回 Int 类型','<p>&nbsp;</p>\n<p>如何使用 DataStore 返回 Int 类型</p>\n<pre><code>class StoreScore(private val context: Context){<br>\n<br>\ncompanion object {<br>\nprivate val Context.dataStoree: DataStore&lt;Preferences&gt; by preferencesDataStore(\"userScore\")<br>\nval USER_SCORE = intPreferencesKey(\"my_number\")<br>\n}<br>\nval getScore: Flow&lt;Int?&gt; = context.dataStoree.data<br>\n.map { preferences-&gt;<br>\npreferences[USER_SCORE] ?: 1<br>\n}<br>\nsuspend fun increaseScore(tun: Int){<br>\ncontext.dataStoree.edit { preferences-&gt;<br>\nval currentCounterValue = preferences[USER_SCORE] ?: 1<br>\npreferences[USER_SCORE] = currentCounterValue + tun<br>\n}<br>\n}<br>\n</code></pre>\n<p>但这会在 Composable 中返回以下内容</p>\n<pre><code>val userScore: State&lt;{Comparable&lt;*&gt;? &amp; java.io.Serializable?}&gt;<br>\n</code></pre>\n<p>而且我不知道如何返回“val userScore: Int”，我不能使用“userScore.value as Int”或“toInt()”，因为它仍然是 Flow 类型。</p>',0,'2023-05-31 02:42:22','2023-05-31 02:42:22','c501984d-c689-4507-af88-c679a934c981'),('61346b04-8034-4098-a2e4-47371546a53e','FastAPI / starlette：在 FastAPI 中并发执行多个后台任务，自定义路由中间件不起作用','<p>&nbsp;</p>\n<p>我正在开发一个 FastAPI 应用程序，我在其中实现了自定义路由中间件来处理某些功能。在我的中间件中，我想执行一个后台任务，另一个正在端点中执行，但我在尝试同时运行两个单独的后台任务时遇到了问题。如果我注释掉任何一个后台任务，那么其他任务就会运行。如果我保持两者都未注释 - 只有 APIRoute 处理程序中的那个运行。</p>\n<p>这是我的代码的简化版本：</p>\n<pre><code>class LoggingRoute(APIRoute):<br>\n &nbsp;&nbsp;&nbsp;def get_route_handler(self) -&gt; Callable:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;original_route_handler = super().get_route_handler()<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;async def custom_route_handler(request: Request) -&gt; Response:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;req_body = await request.body()<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response = await original_route_handler(request)<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if isinstance(response, StreamingResponse):<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res_body = b\'\'<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;async for item in response.body_iterator:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res_body += item<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;task = BackgroundTask(track_info, req_body, res_body, request)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return Response(content=res_body, status_code=response.status_code,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;headers=dict(response.headers), media_type=response.media_type, background=task)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;res_body = response.body<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.background = BackgroundTask(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;track_info, req_body, res_body, request)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return response<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return custom_route_handler<br>\n<br>\n<br>\n@router.get(\'/search/barcode\')<br>\ndef barcode_search(barcode: str, background_tasks: BackgroundTasks):<br>\n &nbsp;&nbsp;&nbsp;result = get_product_from_barcode(barcode)<br>\n &nbsp;&nbsp;&nbsp;if result[\"status\"] == 0:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return {\"status\": 0}<br>\n<br>\n &nbsp;&nbsp;&nbsp;background_tasks.add_task(store_grocery_data, barcode, result)<br>\n<br>\n &nbsp;&nbsp;&nbsp;barcode_response = {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"ean\": barcode<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;return barcode_response<br>\n</code></pre>\n<p>我面临的问题是，当 track_info 和 store_grocery_data 任务都添加为后台任务时，只有其中一个被执行，而另一个没有运行。注释掉一项任务可以让另一项任务成功运行。</p>\n<p>我已经验证这两个任务在单独执行时独立工作。但是，我不确定为什么它们在作为后台任务添加在一起时不会同时执行。</p>\n<p>我需要做些什么才能使用自定义路由中间件在 FastAPI 中并发执行多个后台任务？我是否遗漏了与 FastAPI 中的后台任务处理相关的任何重要概念或最佳实践？</p>\n<p>任何见解或建议将不胜感激。谢谢你！</p>\n<p>此外 - track_info 函数执行一些简单的解析计算，但即使它是后台任务，也会显着增加延迟。端点延迟从 150 毫秒增加到 1000 毫秒 - 这背后的原因可能是什么？</p>',0,'2023-05-31 02:49:00','2023-05-31 02:49:00','c501984d-c689-4507-af88-c679a934c981'),('6274cf7a-3f23-460d-b605-1e804a5eeaf8','如何将 sqlcmd 添加到 docker 基础映像','<p>&nbsp;</p>\n<p>我需要将该图像添加到<code>sqlcmd.exe</code>其中。于是我插入了如下CMD操作：</p>\n<pre><code>RUN curl -o MsSqlCmdLnUtils.msi https://go.microsoft.com/fwlink/?linkid=2142257 &amp; \\<br>\n &nbsp;&nbsp;&nbsp;takeown /F MsSqlCmdLnUtils.msi &amp; \\<br>\n &nbsp;&nbsp;&nbsp;msiexec.exe /i MsSqlCmdLnUtils.msi /quiet /qn /norestart<br>\n</code></pre>\n<p>这失败了，输出如下：</p>\n<pre><code>Step 5/24 : RUN curl -o MsSqlCmdLnUtils.msi https://go.microsoft.com/fwlink/?linkid=2142257 &amp; &nbsp;&nbsp;&nbsp;&nbsp;takeown /F MsSqlCmdLnUtils.msi &amp; &nbsp;&nbsp;&nbsp;&nbsp;msiexec.exe /i MsSqlCmdLnUtils.msi /quiet /qn /norestart<br>\n ---&gt; Running in 0132723f063e<br>\n &nbsp;% Total &nbsp;&nbsp;&nbsp;% Received % Xferd &nbsp;Average Speed &nbsp;&nbsp;Time &nbsp;&nbsp;&nbsp;Time &nbsp;&nbsp;&nbsp;&nbsp;Time &nbsp;Current<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dload &nbsp;Upload &nbsp;&nbsp;Total &nbsp;&nbsp;Spent &nbsp;&nbsp;&nbsp;Left &nbsp;Speed<br>\n &nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 --:--:-- --:--:-- --:--:-- &nbsp;&nbsp;&nbsp;&nbsp;0<br>\n<br>\nSUCCESS: The file (or folder): \"C:\\app\\MsSqlCmdLnUtils.msi\" now owned by user \"User Manager\\ContainerAdministrator\".<br>\nThis installation package could not be opened. &nbsp;Contact the application vendor to verify that this is a valid Windows Installer package.<br>\n</code></pre>\n<p>从我的桌面运行的同一个安装程序运行良好。那么为什么在我的 docker build 期间<code>msiexec</code>抱怨<code>MsSqlCmdLnUtils.msi</code>？可以做些什么来解决这个问题？最终，我只想<code>sqlcmd.exe</code>安装或以其他方式可用；如果有更好/不同的方法来做到这一点，那很好。</p>\n<p>顺便说一句，我没有使用 PowerShell，因为没有安装上述基本映像。</p>',0,'2023-05-31 02:56:03','2023-05-31 02:56:03','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('63ed0853-fedb-4dfb-b409-bed99cd84c7b','如何制作 for 循环以下载文件一次并在每次调用时验证它们','<p>&nbsp;</p>\n<p>完整的脚本按预期工作。我能够下载并验证文件。如果文件准备就绪，则重新测试验证并在必要时下载。</p>\n<p>我正在自学 bash/sh 脚本。有没有更简洁的方法可以实现 sh 脚本的以下部分？</p>\n<p>这些文件位于不同的 URLS。下载是一个简单的 wget cmd，并验证将本地文件的校验和与预期的进行比较。</p>\n<pre><code>for f in $(cat wget-list)<br>\ndo<br>\n &nbsp;&nbsp;&nbsp;# Get name file of file to download<br>\n &nbsp;&nbsp;&nbsp;bn=$(basename $f)<br>\n &nbsp;&nbsp;&nbsp;# If file not present attempt to download<br>\n &nbsp;&nbsp;&nbsp;if [ ! -f $bn ]<br>\n &nbsp;&nbsp;&nbsp;then<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;download<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if verifyfile<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log INFO \"Download of $bn successful\"<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;download<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ! verifyfile<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;halt<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log INFO \"Redownload successful\"<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br>\n &nbsp;&nbsp;&nbsp;else<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ! verifyfile <br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;download<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if verifyfile<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log INFO \"Redownload of $bn successful\"<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;download<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ! verifyfile<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;halt<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi</code></pre>',0,'2023-05-31 02:44:56','2023-05-31 02:44:56','c501984d-c689-4507-af88-c679a934c981'),('64bffaaf-6711-4301-ac79-b58573c379a6','asp.net 6 c# mvc 一对多从多方获取数据','<p>&nbsp;</p>\n<p>我正在尝试访问一对多关系的多方数据。在我的控制器的 Index 操作中，我将数据分配给一个变量并返回它。我有一个博客，一方面，有很多帖子。我只想在视图中列出博客及其帖子。例如...</p>\n<pre><code>Blog1<br>\n &nbsp;&nbsp;&nbsp;post1<br>\n &nbsp;&nbsp;&nbsp;post2<br>\n &nbsp;&nbsp;&nbsp;post3<br>\nBlog2<br>\n &nbsp;&nbsp;&nbsp;post1<br>\n &nbsp;&nbsp;&nbsp;post2<br>\n</code></pre>\n<p>差不多就是这样。但就目前而言，在视图中，我无法访问发布数据。</p>\n<p>这是我的具有相关属性的模型</p>\n<pre><code>public class Blog<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int Id { get; set; }<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public string Name { get; set; }<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public virtual ICollection&lt;Post&gt;? Posts { get; set; } = new HashSet&lt;Post&gt;();<br>\n &nbsp;&nbsp;&nbsp;}<br>\n</code></pre>\n<pre><code>public class Post<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int Id { get; set; }<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public string Title { get; set; }<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public int BlogId { get; set; }<br>\n</code></pre>\n<p>这是控制器</p>\n<pre><code>public async Task&lt;IActionResult&gt; Index()<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var applicationDbContext = _context.Blogs<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Include(b =&gt; b.BlogUsers)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Include(p =&gt; p.Posts)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.ToListAsync();<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return View(await applicationDbContext);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n</code></pre>\n<p>我已经包含了帖子，所以我应该能够访问帖子数据。我可以毫无问题地访问博客数据。</p>\n<p>有任何想法吗？</p>',0,'2023-05-30 02:46:50','2023-05-30 02:46:50','2a4fc063-1cbf-464d-a2a0-35f8972cc208'),('64d035cd-c1dc-430d-b8be-7f406e7f4fb2','这种新型错误源自子进程是什么，很可能不是 pip 的问题','<p>&nbsp;</p>\n<pre><code>!pip install tensorflow tensorflow-gpu pandas matplotlib sklearn<br>\n</code></pre>\n<h1><strong>错误：</strong></h1>\n<pre><code>Requirement already satisfied: tensorflow in /opt/conda/lib/python3.10/site-packages (2.12.0)<br>\nCollecting tensorflow-gpu<br>\n &nbsp;Using cached tensorflow-gpu-2.12.0.tar.gz (2.6 kB)<br>\n &nbsp;Preparing metadata (setup.py) ... done<br>\nRequirement already satisfied: pandas in /opt/conda/lib/python3.10/site-packages (1.5.3)<br>\nRequirement already satisfied: matplotlib in /opt/conda/lib/python3.10/site-packages (3.6.3)<br>\nCollecting sklearn<br>\n &nbsp;Using cached sklearn-0.0.post5.tar.gz (3.7 kB)<br>\n &nbsp;Preparing metadata (setup.py) ... error<br>\n &nbsp;error: subprocess-exited-with-error<br>\n &nbsp;<br>\n &nbsp;× python setup.py egg_info did not run successfully.<br>\n &nbsp;│ exit code: 1<br>\n &nbsp;╰─&gt; [18 lines of output]<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The \'sklearn\' PyPI package is deprecated, use \'scikit-learn\'<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rather than \'sklearn\' for pip commands.<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here is how to fix this error in the main use cases:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- use \'pip install scikit-learn\' rather than \'pip install sklearn\'<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- replace \'sklearn\' by \'scikit-learn\' in your pip requirements files<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(requirements.txt, setup.py, setup.cfg, Pipfile, etc ...)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- if the \'sklearn\' package is used by one of your dependencies,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it would be great if you take some time to track which package uses<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'sklearn\' instead of \'scikit-learn\' and report it to their issue tracker<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- as a last resort, set the environment variable<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SKLEARN_ALLOW_DEPRECATED_SKLEARN_PACKAGE_INSTALL=True to avoid this error<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;More information is available at<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;https://github.com/scikit-learn/sklearn-pypi-package<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If the previous advice does not cover your use case, feel free to report it at<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;https://github.com/scikit-learn/sklearn-pypi-package/issues/new<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[end of output]<br>\n &nbsp;<br>\n &nbsp;note: This error originates from a subprocess, and is likely not a problem with pip.<br>\nerror: metadata-generation-failed<br>\n<br>\n× Encountered error while generating package metadata.<br>\n╰─&gt; See above for output.<br>\n<br>\nnote: This is an issue with the package mentioned above, not pip.<br>\nhint: See above for details.<br>\n<br>\n This error originates from a subprocess, and is likely not a problem with pip.<br>\nerror: metadata-generation-failed<br>\n</code></pre>\n<ul>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/python\" rel=\"tag\" title=\"显示标记为“python”的问题\">Python</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/tensorflow\" rel=\"tag\" title=\"显示标记为“tensorflow”的问题\">张量流</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/gpu\" rel=\"tag\" title=\"显示标记为“gpu”的问题\">显卡</a></li>\n</ul>',0,'2023-05-31 02:43:33','2023-05-31 02:43:33','c501984d-c689-4507-af88-c679a934c981'),('6b72657f-4201-4b41-8123-d8a443c145e5','我可以使用什么来代替 position: absolute 在 React 中将图像保持在另一个图像之上？','<p>&nbsp;</p>\n<p>我已经映射了一个数组，该数组在具有内容的缩略图上呈现一个缩略图图像和一个{background img}：标题，描述，日期</p>\n<p>我能够在博客上映射并正确呈现这 2 个 React 组件，但是，我注意到页面/组件加载位置有一个小故障：绝对。当我将其更改为其他任何内容时，它不会在渲染时出现故障。</p>\n<p>除了 position: absolute 之外，在 CSS 中还有其他东西可以使用，不会导致渲染出现故障吗？我知道使用 absolute 会导致问题，因为它会覆盖正常流程：</p>\n<pre><code>const Thumbnail = styled.div`<br>\n &nbsp;display: flex;<br>\n &nbsp;flex-wrap: wrap;<br>\n &nbsp;position: relative;<br>\n &nbsp;justify-content: center;<br>\n<br>\n`<br>\nconst Image = styled.div`<br>\n &nbsp;display: flex;<br>\n &nbsp;flex-wrap: wrap;<br>\n &nbsp;position: relative; <br>\n &nbsp;display: inline-block;<br>\n`<br>\nconst Tape = styled.div`<br>\n &nbsp;background-image: url(/images/PaperTape.png);<br>\n &nbsp;background-position: center;<br>\n &nbsp;background-repeat: no-repeat;<br>\n &nbsp;z-index: 1;<br>\n &nbsp;position: absolute;<br>\n &nbsp;bottom: 0;<br>\n`<br>\n<br>\nconst BlogImages = ({ blog, index = 0 }) =&gt; {<br>\n &nbsp;const handleImageClick = () =&gt; {<br>\n &nbsp;}<br>\n &nbsp;&nbsp;&nbsp;return (<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Image onClick={() =&gt; handleImageClick(index)}&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Thumbnail&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Link key={index} to={`/blog/${blog.slug}`} target=\"_blank\" rel=\"noopener noreferrer\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;img className=\'blog\' src={blog.src} alt=\"BlogImage\"/&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Tape&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Title&gt;{blog.title}&lt;/Title&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Date&gt;{blog.date}&lt;/Date&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Description&gt;{blog.description}&lt;/Description&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Tape&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Link&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Thumbnail&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Image&gt;<br>\n &nbsp;&nbsp;&nbsp;)<br>\n}<br>\n<br>\nfunction BlogMain() {<br>\n &nbsp;const [visible, setVisible] = useState(1);<br>\n<br>\n &nbsp;const loadMore = () =&gt; {<br>\n &nbsp;&nbsp;&nbsp;setVisible((visible) =&gt; visible + 1);<br>\n &nbsp;};<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Thumbnail&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{blogs &amp;&amp; blogs.length &gt; 0 &amp;&amp; blogs.slice(0, visible).map((blog, index) =&gt; (<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;BlogImages key={index} blog={blog} index={index} /&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;))}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Thumbnail&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;LoadMore&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{blogs &amp;&amp; blogs.length &gt; visible &amp;&amp; (<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Button onClick={loadMore}&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ButtonText&gt;Load more&lt;/ButtonText&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Button&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/LoadMore&gt;<br>\n</code></pre>',0,'2023-05-31 03:20:34','2023-05-31 03:20:34','62c54cdd-b570-4783-820f-429c123aae64'),('6f04aa75-4930-477e-9677-c72208859001','在 PLSQL 中编写 IF 条件的有效方法','<p>&nbsp;</p>\n<p>我有以下逻辑要在 PLSQL 代码中实现。</p>\n<pre><code>IF (A = true AND B = true THEN<br>\n &nbsp;&nbsp;&nbsp;DO_SOMETHING(); <br>\nELSIF A = true THEN<br>\n &nbsp;&nbsp;&nbsp;DO_SOMETHING2();<br>\nELSIF B = true THEN<br>\n &nbsp;&nbsp;&nbsp;DO_SOMETHING3();<br>\nELSE<br>\n &nbsp;&nbsp;&nbsp;DO_SOMETHING4()<br>\nEND IF;<br>\n</code></pre>\n<p>我觉得应该有一种有效的方法来编写这个。有的话可以推荐一下吗。</p>\n<p>先感谢您。</p>',0,'2023-05-31 02:41:19','2023-05-31 02:41:19','c501984d-c689-4507-af88-c679a934c981'),('7682f5ed-81ad-4a41-88b7-0d9d7c88c65e','How to fix \"TypeError: results.map is not a function\", in React','<pre><code>function Results(props) {<br>\n &nbsp;var results = props.results;<br>\n &nbsp;return (<br>\n &nbsp;&nbsp;&nbsp;&lt;&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;thead&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Book Name&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Author&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;S.no&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Series Name&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Type&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Genre&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;th&gt;Kindle/Real&lt;/th&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/thead&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tbody&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{results.map(result =&gt; {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return (<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr key={result.name}&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.name}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.author}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.sno}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.series}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.type}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.genre}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;{result.kindeReal}&lt;/td&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tbody&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;/&gt;<br>\n &nbsp;);<br>\n}</code></pre>\n<p>When I try to render the above com component, I get the error:</p>\n<pre><code>TypeError: results.map is not a function</code></pre>\n<p>The results variable is an array of objects, something like:</p>\n<pre><code>[{\"type\":1},{\"type\":0},{\"type\":2}]<br>\n</code></pre>\n<p>However, when I use the .map function, it returns the error! It is clearly an array, so why can\'t I use it?</p>\n<p>This is the output of console.log(results).</p>\n<pre><code>[{\"Book_Name\":\"Time Riders\",\"Author\":\"Alex Scarrow\",\"S_no\":1,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"Day of the Predator \",\"Author\":\"Alex Scarrow\",\"S_no\":2,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"The Doomsday Code\",\"Author\":\"Alex Scarrow\",\"S_no\":3,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"The Eternal War\",\"Author\":\"Alex Scarrow\",\"S_no\":4,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"Gates of Rome\",\"Author\":\"Alex Scarrow\",\"S_no\":5,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"City of Shadows\",\"Author\":\"Alex Scarrow\",\"S_no\":6,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"The Pirate Kings\",\"Author\":\"Alex Scarrow\",\"S_no\":7,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"The Mayan Prophecy\",\"Author\":\"Alex Scarrow\",\"S_no\":8,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"},{\"Book_Name\":\"The Infinity Cage\",\"Author\":\"Alex Scarrow\",\"S_no\":9,\"Series_Name\":\"Time Riders\",\"Fiction_Non_fiction_Companion_Prequel\":\"Fiction\",\"Genre\":\"Sci-fi/Mystery/Thriller\",\"Kindle_Real\":\"Real\"}]<br>\n</code></pre>\n<p>It looks like an array to me. Why is it not an array then?</p>\n<p>This is the parent component.</p>\n<pre><code>import React from \"react\";<br>\nimport Results from \"./results\";<br>\n<br>\nfunction ResultsRenderer(props) {<br>\n &nbsp;if (props.status === true) {<br>\n &nbsp;&nbsp;&nbsp;return &lt;Results results={props.results} /&gt;;<br>\n &nbsp;} else {<br>\n &nbsp;&nbsp;&nbsp;return &lt;&gt;{\"No\"}&lt;/&gt;;<br>\n &nbsp;}<br>\n}<br>\n<br>\nexport default ResultsRenderer;<br>\n</code></pre>\n<p>This is the parent component of ResultsRenderer.</p>\n<pre><code>import React, { useState } from \"react\";<br>\nimport { useEffect } from \"react\";<br>\nimport \"bootstrap/dist/css/bootstrap.min.css\";<br>\nimport Form from \"./searcherFormDumb\";<br>\nimport { toast } from \"react-toastify\";<br>\nimport ResultsRenderer from \"./resultsRenderer\";<br>\n<br>\nfunction Searcher() {<br>\n &nbsp;const [answer, setAnswer] = useState([\"Empty\", false]);<br>\n &nbsp;const [book, setBook] = useState({<br>\n &nbsp;&nbsp;&nbsp;name: \"\",<br>\n &nbsp;&nbsp;&nbsp;author: \"\",<br>\n &nbsp;&nbsp;&nbsp;sno: null,<br>\n &nbsp;&nbsp;&nbsp;series: \"\",<br>\n &nbsp;&nbsp;&nbsp;type: \"\",<br>\n &nbsp;&nbsp;&nbsp;genre: \"\",<br>\n &nbsp;&nbsp;&nbsp;kindleReal: \"\"<br>\n &nbsp;});<br>\n &nbsp;const defaultState = {<br>\n &nbsp;&nbsp;&nbsp;name: \"\",<br>\n &nbsp;&nbsp;&nbsp;author: \"\",<br>\n &nbsp;&nbsp;&nbsp;sno: null,<br>\n &nbsp;&nbsp;&nbsp;series: \"\",<br>\n &nbsp;&nbsp;&nbsp;type: \"\",<br>\n &nbsp;&nbsp;&nbsp;genre: \"\",<br>\n &nbsp;&nbsp;&nbsp;kindleReal: \"\"<br>\n &nbsp;};<br>\n<br>\n &nbsp;function handleChange(event) {<br>\n &nbsp;&nbsp;&nbsp;const updatedBook = { ...book, [event.target.name]: event.target.value };<br>\n &nbsp;&nbsp;&nbsp;setBook(updatedBook);<br>\n &nbsp;}<br>\n<br>\n &nbsp;function handleSubmit(event) {<br>\n &nbsp;&nbsp;&nbsp;event.preventDefault();<br>\n &nbsp;&nbsp;&nbsp;var changed = {};<br>\n &nbsp;&nbsp;&nbsp;function populateChanged(now, old, title, temp) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (now !== old) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp[title] = now;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return temp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return temp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;book.name,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultState.name,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Book_Name\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changed<br>\n &nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;book.author,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultState.author,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Author\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changed<br>\n &nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(book.sno, defaultState.sno, \"S_no\", changed);<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;book.series,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultState.series,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Series_Name\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changed<br>\n &nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;book.type,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultState.type,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Fiction_Non_fiction_Companion_Prequel\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changed<br>\n &nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(book.genre, defaultState.genre, \"Genre\", changed);<br>\n &nbsp;&nbsp;&nbsp;changed = populateChanged(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;book.kindleReal,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;defaultState.kindleReal,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"Kindle_Real\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changed<br>\n &nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;var temp_string = \"\";<br>\n &nbsp;&nbsp;&nbsp;var key = \"\";<br>\n &nbsp;&nbsp;&nbsp;var value = \"\";<br>\n &nbsp;&nbsp;&nbsp;var temp_string_list = [];<br>\n &nbsp;&nbsp;&nbsp;//debugger;<br>\n &nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; Object.keys(changed).length; i++) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//debugger;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key = Object.keys(changed)[i];<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = changed[key];<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (i !== Object.keys(changed).length - 1) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_string = `${key} = \"${value}\" AND `;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else if (i === Object.keys(changed).length - 1) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_string = `${key} = \"${value}\"`;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_string_list.push(temp_string);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//debugger;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_string = \"\";<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key = \"\";<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = \"\";<br>\n &nbsp;&nbsp;&nbsp;}<br>\n<br>\n &nbsp;&nbsp;&nbsp;var sql_t = temp_string_list.join(\"\");<br>\n &nbsp;&nbsp;&nbsp;var sql_tt = \"SELECT * FROM books_catalouge WHERE \";<br>\n &nbsp;&nbsp;&nbsp;var sql = sql_tt + sql_t;<br>\n &nbsp;&nbsp;&nbsp;toast.success(sql);<br>\n<br>\n &nbsp;&nbsp;&nbsp;var request = new XMLHttpRequest();<br>\n &nbsp;&nbsp;&nbsp;var jsql = JSON.stringify(sql);<br>\n &nbsp;&nbsp;&nbsp;request.onreadystatechange = function() {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//debugger;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (this.readyState == 4 &amp;&amp; this.status == 200) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setAnswer([this.responseText, true]);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(`${answer}`);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;};<br>\n &nbsp;&nbsp;&nbsp;request.open(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"GET\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"http://localhost:3001/retrieve_books\" + \"?msg=\" + jsql,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true<br>\n &nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;request.send(jsql);<br>\n &nbsp;&nbsp;&nbsp;console.log(\"This is the END\");<br>\n &nbsp;&nbsp;&nbsp;console.log(`${answer}`);<br>\n &nbsp;}<br>\n<br>\n &nbsp;return (<br>\n &nbsp;&nbsp;&nbsp;&lt;&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Form book={book} onChange={handleChange} onSubmit={handleSubmit} /&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br /&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ResultsRenderer status={answer[1]} results={answer[0]} /&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;/&gt;<br>\n &nbsp;);<br>\n}<br>\n<br>\nexport default Searcher;<br>\n</code></pre>\n<p>Let me know if you need the NodeJS as well. I am using SQL to get the data, which is why I need the NodeJS. Sorry if my code is a little weird.</p>\n<p>Thanks in advance!</p>\n<p><br></p>\n<p><br></p>',4,'2023-05-27 10:45:31','2023-05-27 10:51:16','37aa72a0-4e4a-4f8f-bdaf-fd8a6444cdd0'),('7a248a62-b975-43df-8ccf-15b5eec87d2a','Why is VS Code Java debugger looking for a JAR file for a dependency that does not exist?','<p>&nbsp;</p>\n<p>我安装了 VS Code 的 Java 扩展包以及 Red Hat Java 语言支持扩展。<code>run and debug</code>每次我立即尝试时，我都会收到错误消息<code>Exception has occurred: java.io.FileNotFoundException \"java.io.FileNotFoundException: \\C:\\Users\\myUserName\\.m2\\repository\\org\\glassfish\\jaxb\\jaxb-runtime\\2.3.1\\jaxb-api-2.3.1.jar\"</code>。当我在我的本地驱动器中寻找这个文件时，它丢失了，但是当我试图从<a href=\"https://repo1.maven.org/maven2/org/glassfish/jaxb/jaxb-runtime/2.3.1/\" rel=\"nofollow noreferrer\"><u>Maven Central</u></a>安装它时，它似乎也不存在。</p>\n<p><strong>我试过的：</strong></p>\n<ol>\n  <li>从 Maven Central 安装它 - 该文件也不存在</li>\n  <li>使用所需名称制作我自己的空白文件 - 我收到另一个错误，指的是 null zip</li>\n  <li>大量不同的调试<code>launch</code>配置都抛出相同的异常</li>\n</ol>\n<p><strong>以下是我当前的</strong><code><strong>launch.json</strong></code><strong>文件：</strong></p>\n<pre><code>{<br>\n// Use IntelliSense to learn about possible attributes.<br>\n// Hover to view descriptions of existing attributes.<br>\n// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387<br>\n\"version\": \"0.2.0\",<br>\n\"configurations\": [<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\": \"java\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\": \"Launch Current File\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"request\": \"launch\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"mainClass\": \"${file}\"<br>\n &nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\": \"java\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\": \"myAppName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"request\": \"launch\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"mainClass\": \"com.name.myAppName\"<br>\n &nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\": \"java\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\": \"myAppName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"request\": \"launch\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"mainClass\": \"com.name.myAppName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"projectName\": \"projectName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"vmArgs\": \"-DAPP_NAME=myAppName -DAPP_FILE_LOG=true -DAPP_CONSOLE_LOG=true\" // &nbsp;&nbsp;&nbsp;&lt;----- this enables the logging, others need it on too and launch using the GUI<br>\n &nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;{<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"type\": \"java\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"name\": \"Spring Boot-myAppName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"request\": \"launch\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"cwd\": \"${workspaceFolder}\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"mainClass\": \"com.name.myAppName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"projectName\": \"projectName\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"args\": \"\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"envFile\": \"${workspaceFolder}/.env\"<br>\n &nbsp;&nbsp;&nbsp;}<br>\n]<br>\n</code></pre>\n<p>}</p>\n<p><strong>注意：我尝试过多种启动方式，例如 GUI、命令面板、右键单击主文件等。</strong></p>\n<p><strong>在不调试的情况下启动应用程序就可以了</strong></p>\n<p><strong>我应该怎么做才能解决这个问题？我想我要么需要这个文件，要么需要一种让调试器停止寻找这个文件的方法</strong></p>',0,'2023-05-31 02:28:26','2023-05-31 02:28:26','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('7f54b47a-ee37-4e4b-becb-95793c853ae9','First test Question -- length must be greater than 15 characters!','<p>This is the test question body.&nbsp;</p>\n<p>i<strong>nput section using md style editors</strong></p>',9,'2023-05-27 08:10:04','2023-05-27 09:30:23','d1b8903c-7933-43fd-8405-f75d714fa186'),('841452a4-9c91-4bb0-b80d-ccb0a3c2b6f7','基于 Python pytube 库的脚本不起作用','<p>&nbsp;</p>\n<p>我已经制作了一个脚本，用于将 youtube 视频下载到我的 linux 机器上，这样我就可以使用 pytube 库在本地播放我的音乐。但是在过去的 4 个月里，我在运行软件时一直遇到这个错误：</p>\n<pre><code>Traceback (most recent call last):<br>\n &nbsp;File \"/home/regex/scripts/ytget.py\", line 22, in &lt;module&gt;<br>\n &nbsp;&nbsp;&nbsp;video = yt.streams.get_audio_only()<br>\n &nbsp;File \"/home/regex/.local/lib/python3.10/site-packages/pytube/__main__.py\", line 296, in streams<br>\n &nbsp;&nbsp;&nbsp;return StreamQuery(self.fmt_streams)<br>\n &nbsp;File \"/home/regex/.local/lib/python3.10/site-packages/pytube/__main__.py\", line 176, in fmt_streams<br>\n &nbsp;&nbsp;&nbsp;stream_manifest = extract.apply_descrambler(self.streaming_data)<br>\n &nbsp;File \"/home/regex/.local/lib/python3.10/site-packages/pytube/__main__.py\", line 161, in streaming_data<br>\n &nbsp;&nbsp;&nbsp;return self.vid_info[\'streamingData\']<br>\nKeyError: \'streamingData\'<br>\n</code></pre>\n<p>有谁知道为什么会这样？我认为这不是我的脚本的直接问题，因为错误仅引用库，但如果需要，我会将其链接到这篇文章。</p>\n<p>我尝试阅读文档并删除并重新安装库，检查我的脚本是否存在错误，并寻找类似的问题但似乎找不到。</p>',0,'2023-05-31 02:54:55','2023-05-31 02:54:55','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('8803fc68-2f05-4a19-a43a-297952bdd6d0','你能在路由的 action 函数中获得多个不受控制的 Autocomplete 的值吗？','<p>&nbsp;</p>\n<p>我使用最新的 React Router 和 Material UI 来实现一个创建帖子的表单。</p>\n<p>我的表单要求提供一些数据，例如标题、正文和一些标签。</p>\n<p>我的操作从请求的 formData 中读取值，除非它是一个 multiple <code>Autocomplete</code>。</p>\n<pre><code>import { Form } from \'react-router-dom\';<br>\n<br>\nexport async function action({ request }) {<br>\n &nbsp;const formData = await request.formData();<br>\n &nbsp;const newPost = Object.fromEntries(formData);<br>\n &nbsp;<br>\n &nbsp;// newPost.tags is an empty string<br>\n}<br>\n<br>\nexport default function NewPost() {<br>\n &nbsp;return (<br>\n &nbsp;&nbsp;&nbsp;&lt;Form method=\"post\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TextField name=\"title\" /&gt;<br>\n &nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TextField name=\"body\" /&gt;<br>\n &nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Autocomplete<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;multiple<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;options={[1, 2, 3, 4, 5]}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renderInput={(params) =&gt; (<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TextField {...params} name=\"tags\" /&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/&gt;<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Button type=\"submit\"&gt;Create post&lt;/Button&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;/Form&gt;<br>\n &nbsp;)<br>\n}</code></pre>',0,'2023-05-31 03:16:05','2023-05-31 03:16:05','228395d4-22a8-4ee1-8c83-f00ed0ff6365'),('8b28e075-3e30-45be-a155-718e38521d44','在带有 R 包的 glmnet_classifier cv.glmnet 函数中使用“tr”作为上限时，如何修复“不一致参数”错误？','<p>&nbsp;</p>\n<p><img alt=\"在此处输入图像描述\" src=\"https://i.stack.imgur.com/UpixJ.png\" width=\"858\" height=\"272\"/></p>\n<pre><code>Error in h(simpleError(msg, call)) : <br>\n &nbsp;error in evaluating the argument \'x\' in selecting a method for function \'drop\': non-conformable arguments<br>\n</code></pre>\n<p>在 R 包中，当我将“tr”作为索引的上限而不是静态值时，我会出现上述错误。如何解决这个问题？</p>\n<p>我希望找到一个可能的解决方案。</p>\n<ul>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/r\" rel=\"tag\" title=\"显示标记为“r”的问题\">r</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/arrays\" rel=\"tag\" title=\"显示标记为“数组”的问题\">数组</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/package\" rel=\"tag\" title=\"显示标记为“包”的问题\">包裹</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/glm\" rel=\"tag\" title=\"显示标记为“glm”的问题\">glm</a></li>\n</ul>',0,'2023-05-31 02:36:21','2023-05-31 02:36:21','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('8c2a4e35-bffc-4c3d-b4ca-59a397d8bd31','使用 props 属性覆盖合并类','<p>&nbsp;</p>\n<p>我在道具中有颜色属性，但它可以保留未定义，如果它未定义，渲染颜色应该来自由 griffel 提供的 makestyle 定义的钩子，否则道具应该覆盖笔划的颜色`</p>\n<pre><code>const a = { stroke: props.data!.lineChartData![0].color! };<br>\n &nbsp;&nbsp;&nbsp;console.log(a);<br>\n &nbsp;&nbsp;&nbsp;return (<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;path<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// className={myClass.line}<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;className={mergeClasses(myClass.line, a)}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// style={{ stroke: props.data!.lineChartData![0].color! }}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d={line.current(_points)}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/&gt;<br>\n<br>\nstyle file where myclass is defined <br>\nexport const useClasses = makeStyles({<br>\n &nbsp;line: {<br>\n &nbsp;&nbsp;&nbsp;stroke: tokens.colorPaletteRedForeground2,<br>\n &nbsp;&nbsp;&nbsp;fill: \'transparent\',<br>\n &nbsp;&nbsp;&nbsp;opacity: 1,<br>\n &nbsp;&nbsp;&nbsp;strokeWidth: \'2px\',<br>\n &nbsp;},<br>\n<br>\nin base file myclass=useclass(); //provided by griffel library<br>\n</code></pre>\n<p>我尝试过内联样式方法，但我想采用合并样式方法。</p>',0,'2023-05-31 03:13:39','2023-05-31 03:13:39','228395d4-22a8-4ee1-8c83-f00ed0ff6365'),('8d326c9b-3ecc-4391-81bc-e0a2adc5a4e5','使用 libevent 的异步 HTTP IO','<p>&nbsp;</p>\n<p>我有一个基本上有两个事件的程序：</p>\n<ul>\n  <li>EventOne：每分钟从 REST API 查询一次并获得一个<code>number</code></li>\n  <li>EventTwo：<code>number</code>在 LED 屏幕上显示来自 EventOne 的内容</li>\n</ul>\n<p>困境是：</p>\n<ul>\n  <li>EventOne 的 REST API 很慢，加载可能需要几秒钟</li>\n  <li>EventTwo使用了LED屏的驱动功能，它必须保持运行（可能只有毫秒级的间隔）才能让LED屏刷新得足够快，也就是说我不能让它被几秒卡住；否则 LED 显示损坏的数字。</li>\n</ul>\n<p>我认为我需要的是一个异步 HTTP I/O，就像 JavaScript 的 async/await 语法一样，这样我就可以在触发 HTTP 请求后“暂停”我的 EventOne，然后再取回<strong>数字</strong>并<strong>在</strong>两者之间运行我的 EventTwo。当异步 IO 准备就绪时，EventOne 可以恢复。</p>\n<p>这是 libevent 本身支持的东西吗？如果没有，是否有任何类似的事件循环框架原生支持这个？</p>\n<p>笔记：</p>\n<ol>\n  <li>我目前的程序使用多线程模型，效果很好。这个问题的目的是调查使用事件循环来实现相同目的的可行性。</li>\n</ol>',0,'2023-05-31 02:51:58','2023-05-31 02:51:58','c501984d-c689-4507-af88-c679a934c981'),('98c8b33d-15a7-4df2-afec-b2034f7232c8','在 Python 中使用惯用代码和 pandas 库的最佳实践是什么？','<p>&nbsp;</p>\n<p>如何使用 pandas 库在 python 中使用惯用代码？</p>\n<p>我需要一些已经完成的代码示例，并逐步解释完整的过程。请对此作出详细说明。由于惯用的 python 降低了我们的代码复杂性，所以我需要学习它。</p>',0,'2023-05-31 02:44:18','2023-05-31 02:44:18','c501984d-c689-4507-af88-c679a934c981'),('9d0212b1-611c-4a0e-8842-726946b95635','在 Eclipse 上找不到资源','<p>&nbsp;我正在使用 Slick2D 创建游戏，出于某种原因，它说我没有图像/spritesheet ..我试着四处寻找其他有类似问题的人，但它不起作用......&nbsp;</p>',0,'2023-05-31 02:50:54','2023-05-31 02:50:54','c501984d-c689-4507-af88-c679a934c981'),('a62a40bb-3771-43ad-8386-af22b3c9a132','面向对象的 Python 中的全局变量出现问题 - 收到“未声明的变量”错误','<p>&nbsp;</p>\n<p>我对 Python 有点陌生，我遇到了一个问题，我的面向对象代码反复说我需要声明变量。是否某些情况不允许变量是全局变量？我犯了什么错误？我错过了什么吗？</p>\n<p>错误和我的困惑在于我已经声明了一个全局变量。我确保在代码之前声明它们，并尝试将它们添加为局部变量，但无论我做什么，我仍然会遇到错误。</p>',1,'2023-05-30 02:41:37','2023-05-30 02:43:00','2a4fc063-1cbf-464d-a2a0-35f8972cc208'),('ab1f9c3c-49ba-4e12-83c5-43ce6fcaa621','FOR EACH LOOP 容器在 SSIS 中工作但作为 SQL 作业或在 SSISDB 集成服务目录中失败，即使提供了正确的文件路径','<p>&nbsp;</p>\n<p>我正在使用SSIS 中的<strong>FOR EACH LOOP 容器</strong>将数据从文件夹（包含 CSV 文件）传输到 SQL Server 数据库。这在 SSIS 中运行良好，但在作为 SQL 作业运行或在 SSISDB 集成服务目录中执行时出现错误。即使文件路径正确并且在 Visual Studio 中运行良好。请参阅下面的错误。 <strong>Foreach 循环容器：警告：For Each 文件枚举器为空。For Each File 枚举器未找到任何与文件模式匹配的文件，或者指定的目录为空。</strong> <a href=\"https://i.stack.imgur.com/LO0Qt.png\" rel=\"nofollow noreferrer\"><u>Visual Studio 结果</u></a> <a href=\"https://i.stack.imgur.com/wu606.png\" rel=\"nofollow noreferrer\"><u>SQL Server 结果（失败原因）</u></a></p>\n<p>任何帮助深表感谢。</p>\n<p>我试图为用户提供数据库读写访问权限。</p>',0,'2023-05-31 03:23:34','2023-05-31 03:23:34','62c54cdd-b570-4783-820f-429c123aae64'),('b0da8aa3-7b95-413c-bc05-b8cadb1d4332','我可以使用 Clang lib 读取来自预处理宏的函数参数值吗？','<p>&nbsp;</p>\n<p>我是 LLVM 和 Clang 内部的新手，希望你能帮助确认我的计划。</p>\n<p>我有以下代码：</p>\n<p>工具.h:</p>\n<pre><code>#define LOG_INFO(name, message, ...) &nbsp;&nbsp;&nbsp;&nbsp;logging(LOG_INFO, state_name, __FILE__, __LINE__, __func__, message, ##__VA_ARGS__)<br>\n<br>\n &nbsp;&nbsp;<br>\nvoid logging(int priority, const char *name, const char *file_name, int line, const char *function, const char *format, ...);<br>\n</code></pre>\n<p>这是使用宏 LOG_INFO 的 app.c：</p>\n<pre><code>void foo()<br>\n{<br>\n &nbsp;&nbsp;&nbsp;// dummy line<br>\n &nbsp;&nbsp;&nbsp;/* &nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;* dummy lines<br>\n &nbsp;&nbsp;&nbsp;&nbsp;*<br>\n &nbsp;&nbsp;&nbsp;&nbsp;*/<br>\n &nbsp;&nbsp;&nbsp;LOG_INFO(\"state100\", \"the %s dump at foo()\", \"first\");<br>\n<br>\n &nbsp;&nbsp;&nbsp;int i;<br>\n &nbsp;&nbsp;&nbsp;for (i = 0; i &lt; 6; ++i) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOG_WARNING(\"state150\", \"the %d loop\", i); <br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LOG_DEBUG(\"\", \"i=%d\\n\", i); <br>\n &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<br>\n<br>\n &nbsp;&nbsp;&nbsp;LOG_ERR(\"state300\", \"garbage:%s - %d - %ld\", \"haha\", 123, 123000);<br>\n}<br>\n<br>\nvoid bar()<br>\n{<br>\n &nbsp;&nbsp;&nbsp;LOG_INFO(\"state200\", \"the %s dump at function %s\", \"first\", \"bar\");<br>\n}<br>\n<br>\nint main(int argc, char **argv)<br>\n{<br>\n &nbsp;&nbsp;&nbsp;(void)argc;<br>\n &nbsp;&nbsp;&nbsp;(void)argv;<br>\n<br>\n &nbsp;&nbsp;&nbsp;foo();<br>\n<br>\n &nbsp;&nbsp;&nbsp;bar();<br>\n<br>\n &nbsp;&nbsp;&nbsp;LOG_INFO(\"state900\", \"Great job!\");<br>\n<br>\n &nbsp;&nbsp;&nbsp;return 0;<br>\n}<br>\n</code></pre>\n<p>我的计划是使用 Clang lib 来检查 app.c 的 AST：</p>\n<ol>\n  <li><strong>查找logging()</strong>的所有调用</li>\n  <li>在每次调用 logging() 时打印出 file_name、line 和 function 的所有值</li>\n</ol>\n<p>对于 #1，因为 AST 是在预处理之后——我说得对吗？- 所以 AST 有 logging() 而不是 LOG_INFO。</p>\n<p>对于#2，再次因为 AST 在预处理之后，我将能够访问 logging() 的所有参数值。</p>\n<p>我的理解对吗？</p>',0,'2023-05-31 03:19:44','2023-05-31 03:19:44','62c54cdd-b570-4783-820f-429c123aae64'),('b3bf09a6-d891-4ff3-8fdd-11910396ef86','Multi processing can\'t pickle in cython','<p>&nbsp;ayModified <a href=\"https://stackoverflow.com/questions/76369716/multi-processing-cant-pickle-in-cython?lastactivity\" title=\"2023-05-31 02:13:11Z\">today</a>Viewed 14 times<strong>0</strong></p>\n<p>由于我当前的项目很大，我将提供我认为有问题且可重现的代码部分。</p>\n<p><strong>我想做什么？</strong>A：我正在尝试开发一个文件系统微型过滤器驱动程序。我想开发：</p>\n<ul>\n  <li>使用纯 C/WDK 的内核模式</li>\n  <li>用户模式由直接与内核模式交互的 C 程序组成。我还有一个 cython/.pyd 模块，然后将其包含在与内核交互的 C 程序中。</li>\n</ul>\n<p>综上所述，当内核要用户态做某事时，内核向usermode/C程序发送信号，C程序再将请求转发给cython模块。您可能会问我为什么要使用 cython？A：因为我会用 python 编写驱动程序的某些功能，这些功能不需要性能并且可以很容易地用 python 开发。我知道这可能从来没有被其他人做过，但这可能是一个很好的实验:)</p>\n<p><strong>CyModule.pyx</strong></p>\n<pre><code>class doMath(Process):<br>\n &nbsp;&nbsp;&nbsp;def __init__(self, daemon=True):<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;super().__init__()<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.daemon = daemon<br>\n<br>\n &nbsp;&nbsp;&nbsp;def run(self):<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(\"What up?\")<br>\n<br>\ncdef public void mainCode():<br>\n &nbsp;&nbsp;&nbsp;mathematicalStuff = doMath()<br>\n &nbsp;&nbsp;&nbsp;mathematicalStuff.start()<br>\n<br>\n</code></pre>\n<p><strong>CyModule.pxd</strong></p>\n<pre><code>cdef public void mainCode()<br>\n</code></pre>\n<p><strong>安装程序.py</strong></p>\n<pre><code>from distutils.core import setup, Extension<br>\nfrom Cython.Build import cythonize<br>\nfrom distutils.sysconfig import get_python_inc<br>\n<br>\next_modules = [<br>\n &nbsp;&nbsp;&nbsp;Extension(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\"CyModule\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sources=[\"CyModule.pyx\", ],#\"Updater.pyx\",<br>\n<br>\n &nbsp;&nbsp;&nbsp;),<br>\n]<br>\nsetup(<br>\n &nbsp;&nbsp;&nbsp;name=\"modules\",<br>\n &nbsp;&nbsp;&nbsp;ext_modules=cythonize(ext_modules),<br>\n &nbsp;&nbsp;&nbsp;include_dirs=[<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\".\",<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get_python_inc(),<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],<br>\n &nbsp;&nbsp;&nbsp;compiler_directives={\'language_level\': 3, \"unraisable_tracebacks\": True}<br>\n)<br>\n</code></pre>\n<p>最后，我使用 编译我的 setup.py <code>python setup.py build_ext --inplace</code>，这将生成一个可与外部 C 程序一起使用的 CyModule.h 文件。现在，如果我打开一个 python 控制台，并执行以下操作，该程序将运行良好。</p>\n<pre><code>&gt;&gt;&gt; import CyModule<br>\n&gt;&gt;&gt; mathematicalStuff = CyModule.doMath()<br>\n&gt;&gt;&gt; mathematicalStuff.start()<br>\n&gt;&gt;&gt; What up?<br>\n</code></pre>\n<p>如您所见，<code>What up?</code>已打印。</p>\n<p>Now, rather than using python console app, I would like to use a pure C program that call <code>mainCode</code> from my CyModule.pyd which then call <code>doMath()</code>.</p>\n<p><strong>run.c</strong></p>\n<pre><code>#define PY_SSIZE_T_CLEAN<br>\n#include &lt;Python.h&gt;<br>\n#include &lt;stdio.h&gt;<br>\n#include &lt;time.h&gt;<br>\n#include \"CyModule.h\"<br>\n<br>\n//gcc -o run.exe run.c CyModule.c -IC:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\include -IC:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\include -LC:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\libs -lpython39<br>\nint main(){<br>\n &nbsp;&nbsp;&nbsp;printf(\"current PID %d\\n\", getpid());<br>\n &nbsp;&nbsp;&nbsp;PyImport_AppendInittab(\"mainCode\", PyInit_CyModule);<br>\n &nbsp;&nbsp;&nbsp;Py_Initialize();<br>\n<br>\n &nbsp;&nbsp;&nbsp;PyObject *sys = PyImport_ImportModule(\"sys\");<br>\n &nbsp;&nbsp;&nbsp;PyObject *path = PyObject_GetAttrString(sys, \"path\");<br>\n &nbsp;&nbsp;&nbsp;PyList_Append(path, PyUnicode_FromString(\".\"));<br>\n &nbsp;&nbsp;&nbsp;PyList_Append(path, PyUnicode_FromString(\"C:/Users/username/AppData/Local/Programs/Python/python39/\"));<br>\n<br>\n<br>\n &nbsp;&nbsp;&nbsp;/* 1st: Import the module */<br>\n &nbsp;&nbsp;&nbsp;PyObject* ModuleString = PyUnicode_FromString((char*) \"CyModule\");<br>\n &nbsp;&nbsp;&nbsp;if (!ModuleString) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyErr_Print();<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(\"Error formating python script\\n\");<br>\n &nbsp;&nbsp;&nbsp;}<br>\n<br>\n &nbsp;&nbsp;&nbsp;PyObject* Module = PyImport_Import(ModuleString);<br>\n &nbsp;&nbsp;&nbsp;if (!Module) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyErr_Print();<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(\"Error importing python script\\n\");<br>\n &nbsp;&nbsp;&nbsp;}<br>\n<br>\n<br>\n &nbsp;&nbsp;&nbsp;/* 2nd: Getting reference to the function */<br>\n &nbsp;&nbsp;&nbsp;PyObject* Function = PyObject_GetAttrString(Module, (char*)\"mainCode\");<br>\n &nbsp;&nbsp;&nbsp;if (!Function) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyErr_Print();<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(\"Pass valid argument to mainCode()\\n\");<br>\n &nbsp;&nbsp;&nbsp;}<br>\n<br>\n &nbsp;&nbsp;&nbsp;if(PyImport_ImportModule(\"mainCode\") == NULL){<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(\"Failed to import mainCode\\n\");<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;__pyx_f_13commonmodules_mainCode();<br>\n &nbsp;&nbsp;&nbsp;getch();<br>\n &nbsp;&nbsp;&nbsp;return 0;<br>\n}<br>\n<br>\n</code></pre>\n<p>I then compile my C program using:</p>\n<pre><code>gcc -o run.exe run.c CyModule.c -IC:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\include -IC:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\include -LC:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\libs -lpython39<br>\n</code></pre>\n<p>This compiles the program just fine, but when I run it, I get the following error:</p>\n<pre><code>current PID 12300<br>\nException ignored in: \'CyModule.mainCode\'<br>\nTraceback (most recent call last):<br>\n &nbsp;File \"C:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\multiprocessing\\process.py\", line 121, in start<br>\n &nbsp;&nbsp;&nbsp;self._popen = self._Popen(self)<br>\n &nbsp;File \"C:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\multiprocessing\\context.py\", line 224, in _Popen<br>\n &nbsp;&nbsp;&nbsp;return _default_context.get_context().Process._Popen(process_obj)<br>\n &nbsp;File \"C:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\multiprocessing\\context.py\", line 327, in _Popen<br>\n &nbsp;&nbsp;&nbsp;return Popen(process_obj)<br>\n &nbsp;File \"C:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\multiprocessing\\popen_spawn_win32.py\", line 93, in __init__<br>\n &nbsp;&nbsp;&nbsp;reduction.dump(process_obj, to_child)<br>\n &nbsp;File \"C:\\Users\\username\\AppData\\Local\\Programs\\Python\\Python39\\Lib\\multiprocessing\\reduction.py\", line 60, in dump<br>\n &nbsp;&nbsp;&nbsp;ForkingPickler(file, protocol).dump(obj)<br>\n_pickle.PicklingError: Can\'t pickle &lt;class \'CyModule.doMath\'&gt;: it\'s not the same object as commonmodules.doMath<br>\n</code></pre>\n<p>Does anyone know, how do I call mainCode in my run.c program where the doMath could be pickled by the multiprocessing?</p>\n<p>I tried some suggestion from the internet, such as:</p>\n<pre><code>def PickleDoMath():<br>\n &nbsp;&nbsp;&nbsp;mathematicalStuff = doMath()<br>\n &nbsp;&nbsp;&nbsp;mathematicalStuff.start()<br>\n<br>\ncdef public void mainCode():<br>\n &nbsp;&nbsp;&nbsp;PickleDoMath()<br>\n</code></pre>\n<p>This didn\'t work either.</p>',0,'2023-05-31 02:46:18','2023-05-31 02:46:18','c501984d-c689-4507-af88-c679a934c981'),('bc0f6c1d-5754-4b20-942e-6902a49349fc','如何使用动态数量的选项卡在 Kotlin 中实现 Tablayout，其中每个选项卡都包含一个 recyclerview？','<p>&nbsp;</p>\n<p>如何使用动态数量的选项卡创建 Tablayout，其中每个选项卡都包含一个 recyclerview。</p>\n<p>好吧，我正在尝试使用 Tablayout 创建 viewpager2，其中每个选项卡（或页面）代表一个类别，并且每当选择一个选项卡时，都会显示与该类别（选项卡）对应的产品列表。选项卡的数量不固定，可能会根据 API 中的类别数量而有所不同（我正在使用改造来抓取类别和产品）。我正在使用 recyclerview 来展示产品。我从来没有使用过viewpager2，官方文档真的很混乱。这是我想要实现的一个例子。</p>\n<p><img alt=\"表格布局示例\" src=\"https://i.stack.imgur.com/GzZKV.gif\"/></p>',0,'2023-05-31 03:21:29','2023-05-31 03:21:29','62c54cdd-b570-4783-820f-429c123aae64'),('bc910d94-63bb-495d-bf55-dfe26fdb2fc4','Log forging in checkmarx scan in java','<p>&nbsp;</p>\n<p><strong>Log forging in checkmarx scan in Java</strong></p>\n<p>How to resolve log forging for Java in a checkmarx scan. I tried sanitizing input before putting in the log file. But, it still complains validate or sanitize the input before logging. Please help me to resolve this issue.</p>',0,'2023-05-31 02:27:18','2023-05-31 02:27:18','2a4fc063-1cbf-464d-a2a0-35f8972cc208'),('bd508a12-8c71-4e0f-b25b-cc03a4466185','Error No \'Access-Control-Allow-Origin\' - Nodejs [closed]','<p>I\'m developing an api taking data from a json file that will be inside the project\'s local files.</p>\n<p>I\'m having a problem with requests on the front end to get the data, it\'s a cors error.</p>\n<p>In the api I believe I enabled the headers correctly, but I don\'t know if I have to do it on the front and how I have to do it.</p>\n<p>Below will be my code from the index.js file and then the script.js file that will serve to get the data from the api</p>\n<p>Main api file that has cors</p>\n<pre><code>const express = require(\"express\");<br>\nconst morgan = require(\"morgan\");<br>\nconst bodyParser = require(\"body-parser\");<br>\n<br>\n// Routes<br>\nconst routeLogin = require(\'./routes/login\');<br>\nconst routeRegister = require(\'./routes/register\');<br>\nconst routeHashtags = require(\'./routes/hashtag\');<br>\n<br>\nconst app = express();<br>\n<br>\n<br>\n<br>\n// Use<br>\n// Morgan<br>\napp.use(morgan(\"dev\"));<br>\n<br>\n// Body parser<br>\napp.use(bodyParser.urlencoded({ extended: false }));<br>\napp.use(bodyParser.json());<br>\n<br>\n// Cors<br>\napp.use((req, res, next) =&gt; {<br>\n &nbsp;res.header(\"Access-Control-Allow-credentials\", \"true\");<br>\n &nbsp;res.header(\"Acces-Control-Allow-Origin\", \"*\");<br>\n &nbsp;res.header(<br>\n &nbsp;&nbsp;&nbsp;\"Acces-Control-Allow-Header\", <br>\n &nbsp;&nbsp;&nbsp;\"Origin, X-Requested-With, Content-Type, Accept, Authorization, X-CSRF-Token\"<br>\n &nbsp;);<br>\n &nbsp;res.header(\'Acces-Control-Allow-Methods\', \"GET,OPTIONS, POST, DELETE, PUT, PATCH\");<br>\n<br>\n &nbsp;next();<br>\n})<br>\n<br>\n<br>\n<br>\n// Routes<br>\napp.use(\'/login\', routeLogin);<br>\napp.use(\'/register\', routeRegister);<br>\napp.use(\'/hashtag\', routeHashtags);<br>\n<br>\n// Error<br>\napp.use((req, res, next) =&gt; {<br>\n &nbsp;const error = new Error(\"Erro! Não encontrato!\");<br>\n &nbsp;error.status = 404;<br>\n &nbsp;next(error);<br>\n})<br>\n<br>\napp.use((error, req, res, next) =&gt; {<br>\n &nbsp;res.status(error.status || 500);<br>\n &nbsp;return res.send({<br>\n &nbsp;&nbsp;&nbsp;error: {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message: error.message<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;})<br>\n})<br>\n<br>\n<br>\n<br>\nmodule.exports = app;<br>\n</code></pre>\n<p>Front end</p>\n<pre><code>async function dashboard(){<br>\n &nbsp;async function pendingPosts(){<br>\n &nbsp;&nbsp;&nbsp;await fetch(\"http://localhost:3120/hashtag/\")<br>\n &nbsp;&nbsp;&nbsp;.then((res) =&gt; res.json())<br>\n &nbsp;&nbsp;&nbsp;.then((data) =&gt; {console.log(data)})<br>\n &nbsp;}<br>\n &nbsp;pendingPosts()<br>\n}<br>\ndashboard()<br>\n</code></pre>',5,'2023-05-27 10:58:01','2023-05-29 01:33:52','ab9ae668-91d7-4d1d-8671-1a2d7e82c78d'),('bea8506d-8eac-4ffd-b389-b2882e41113f','如何使用时间戳和日期从另一个表中获取以前的最新行','<p>&nbsp;<strong>0</strong></p>\n<p>我需要从 table2 获取最新的前一个日期并加入 table1。</p>\n<p>我有以下表格： Table_One：</p>\n<pre><code>+-----------------------+--------+<br>\n|timestamp &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| price &nbsp;|<br>\n+-----------------------+--------+<br>\n| 2023-01-01 12:13:12.0 | 10.0 &nbsp;&nbsp;|<br>\n| 2023-01-01 16:20:10.3 | 10.4 &nbsp;&nbsp;|<br>\n| 2023-01-03 11:13:11.0 | 11.3 &nbsp;&nbsp;|<br>\n| 2023-01-03 12:58:10.0 | 12.2 &nbsp;&nbsp;|<br>\n| 2023-01-03 13:24:33.0 | 12.1 &nbsp;&nbsp;|<br>\n| 2023-01-05 09:13:48.0 | 11.5 &nbsp;&nbsp;|<br>\n+-----------------------+--------+<br>\n</code></pre>\n<p>表二：</p>\n<pre><code>+------------------+--------+<br>\n|date &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| value &nbsp;|<br>\n+------------------+--------+<br>\n| 2022-12-31 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 9.9 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-01 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 9.8 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-02 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 9.7 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-03 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 10.1 &nbsp;&nbsp;|<br>\n| 2023-01-04 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 10.2 &nbsp;&nbsp;|<br>\n+------------------+--------+<br>\n</code></pre>\n<p>加入后需要的结果：</p>\n<pre><code>+-----------------------+--------+------------+--------+<br>\n|timestamp &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| price &nbsp;| date &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;value |<br>\n+-----------------------+--------+------------+--------+<br>\n| 2023-01-01 12:13:12.0 | 10.0 &nbsp;&nbsp;| 2022-12-31 | 9.9 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-01 16:20:10.3 | 10.4 &nbsp;&nbsp;| 2022-12-31 | 9.9 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-03 11:13:11.0 | 11.3 &nbsp;&nbsp;| 2023-01-02 | 9.7 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-03 12:58:10.0 | 12.2 &nbsp;&nbsp;| 2023-01-02 | 9.7 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-03 13:24:33.0 | 12.1 &nbsp;&nbsp;| 2023-01-02 | 9.7 &nbsp;&nbsp;&nbsp;|<br>\n| 2023-01-05 09:13:48.0 | 11.5 &nbsp;&nbsp;| 2023-01-04 | 10.2 &nbsp;&nbsp;|<br>\n+-----------------------+--------+------------+--------+<br>\n</code></pre>\n<p>我正在使用 clickhousedb。<a href=\"https://stackoverflow.com/questions/50605160/sql-join-to-the-latest-record\"><u>在这里回答</u></a>使用，<code>apply</code>但 clickhouse 不支持它。有什么建议么？</p>',0,'2023-05-31 02:25:59','2023-05-31 02:25:59','2a4fc063-1cbf-464d-a2a0-35f8972cc208'),('c50907e8-8342-47b8-a3bb-07710c053d9f','从 mysql workbench 设置 max_allowed_pa​​cket','<p>&nbsp;正在尝试设置 GLOBAL max_allowed_pa​​cket=16777216；但它返回我访问被拒绝；您需要（至少其中之一）此操作的 SUPER 特权，我已经阅读了很多答案，但没有一个是关于工作台语法的，我如何从工作台设置 max_allowed_pa​​cket？，我使用的是 MAC。&nbsp;</p>',0,'2023-05-31 02:52:25','2023-05-31 02:52:25','c501984d-c689-4507-af88-c679a934c981'),('c7247daa-211e-4a5c-9d4c-df1bd07e1dc6','如何仅在使用 JavaScript 和 ResponsiveVoice 在 SQL 响应中找到特定文本时才播放文本到语音？','<p>&nbsp;</p>\n<p>我正在进行数据库查询，需要在行等于“llamar”时读出文本。但是，有时它不播放，或者在播放时中断并重新开始播放。文本由 SQL Server 过程“P_registrar_turnos”返回给我。有没有更好的方法来处理这个问题？</p>\n<p>这是我的代码：</p>\n<pre><code>&nbsp;setInterval(function () {<br>\n &nbsp;&nbsp;&nbsp;llamarTurno(); &nbsp;<br>\n &nbsp;}, 5000);<br>\n<br>\n<br>\n &nbsp;function textoPorVoz(texto,funcion) {<br>\n &nbsp;&nbsp;&nbsp;// +<br>\n &nbsp;&nbsp;&nbsp;responsiveVoice.setDefaultVoice(\'Spanish Latin American Female\');<br>\n<br>\n &nbsp;&nbsp;&nbsp;// +<br>\n &nbsp;&nbsp;&nbsp;responsiveVoice.speak(texto, \'Spanish Latin American Female\', {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pitch: 1,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rate: 1,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onend: funcion<br>\n &nbsp;&nbsp;&nbsp;});<br>\n &nbsp;}<br>\n<br>\n &nbsp;function llamarTurno() {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;peticionActual = peticion({<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ruta: \'./ejecutarPeticion?procedimiento=p_traer_turnos\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parametros: {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renglon: \'LLAMAR\'<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;funcion: {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;antesEnviarPeticion: function antesEnviarPeticion(peticion, configuracion) {},<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;peticionExitosa: function peticionExitosa(respuesta, estado, peticion1) {<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textoPorVoz(\" \" + respuesta[0].texto, function() { <br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AsignarTurno(respuesta[0].id_turno);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br>\n &nbsp;&nbsp;&nbsp;}<br>\n<br>\n &nbsp;&nbsp;function AsignarTurno(id_turno) {<br>\n<br>\n &nbsp;&nbsp;&nbsp;peticionActual = peticion({<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tipo: \'GET\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ruta: \'./ejecutarPeticion?procedimiento=p_registrar_asignacion_turno\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parametros: {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;renglon: \'ASIGNADO\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id_turno_asignado: id_turno<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;funcion: {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;peticionExitosa: function peticionExitosa(respuesta,estado,peticion) {<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br>\n<br>\n &nbsp;&nbsp;&nbsp;}<br>\n</code></pre>',0,'2023-05-31 02:52:59','2023-05-31 02:52:59','c501984d-c689-4507-af88-c679a934c981'),('c9f6d972-9302-4fae-94f4-2bebde1ca480','在 Zorin OS 上安装 rmagick gem','<p>&nbsp;</p>\n<p>我在 HP Pavilion 游戏笔记本电脑上进行了此设置：</p>\n<ul>\n  <li>佐林操作系统 16.2</li>\n  <li>asdf v0.11.1 用于 ruby​​ 和 node 的版本控制</li>\n  <li>红宝石 3​​.2.2</li>\n  <li>ImageMagick 7.1.1 从源代码安装</li>\n</ul>\n<p>我正在尝试将 rmagick Gem 与 Ruby 3.2.2 一起使用。</p>\n<p>当我运行<code>gem install rmagick</code>它返回</p>\n<pre><code>Building native extensions. This could take a while...<br>\nERROR: &nbsp;Error installing rmagick:<br>\n &nbsp;&nbsp;&nbsp;ERROR: Failed to build gem native extension.<br>\n<br>\n &nbsp;&nbsp;&nbsp;current directory: /home/mauro/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rmagick-5.2.0/ext/RMagick<br>\n/home/mauro/.asdf/installs/ruby/3.2.2/bin/ruby extconf.rb<br>\nchecking for brew... no<br>\nchecking for pacman... no<br>\nchecking for Ruby version &gt;= 2.3.0... yes<br>\nchecking for outdated ImageMagick version (&lt;= 6.7.7)... no<br>\nchecking for gcc... yes<br>\nchecking for __GNUC__... yes<br>\nchecking for MagickCore/MagickCore.h... yes<br>\nchecking for rb_gc_adjust_memory_usage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... yes<br>\nchecking for posix_memalign() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... yes<br>\nchecking for malloc_usable_size() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... yes<br>\nchecking for malloc_size() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no<br>\nchecking for _aligned_msize() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no<br>\nchecking for GetImageChannelEntropy() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no<br>\nchecking for SetImageGray() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no<br>\nchecking for SetMagickAlignedMemoryMethods() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,sys/types.h,MagickCore/MagickCore.h... no<br>\nchecking for malloc.h... yes<br>\ncreating extconf.h<br>\ncreating Makefile<br>\n======================================================================<br>\nTue 30 May 23 21:00:30<br>\nThis installation of RMagick 5.2.0 is configured for<br>\nRuby 3.2.2 (x86_64-linux) and ImageMagick 7.1.1<br>\n======================================================================<br>\n<br>\n<br>\nConfigured compile options: {:magick_version=&gt;\"7.1.1\", :local_libs=&gt;\" &nbsp;-L/usr/local/lib -lMagickCore-7.Q16HDRI\", :cppflags=&gt;\"-I/home/mauro/.asdf/installs/ruby/3.2.2/include &nbsp;$(DEFS) $(cppflags) &nbsp;-fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/include/ImageMagick-7 -std=gnu99 -Wno-void-pointer-to-int-cast -Wno-void-pointer-to-enum-cast -Wno-pointer-to-int-cast\", :ldflags=&gt;\"-L. -L/home/mauro/.asdf/installs/ruby/3.2.2/lib &nbsp;-fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed &nbsp;-L/usr/local/lib -lMagickCore-7.Q16HDRI -Wl,-rpath,/usr/local/lib\", :defs=&gt;[\"-DHAVE_MAGICKCORE_MAGICKCORE_H\", \"-DHAVE_RB_GC_ADJUST_MEMORY_USAGE\", \"-DHAVE_POSIX_MEMALIGN\", \"-DHAVE_MALLOC_USABLE_SIZE\", \"-DHAVE_MALLOC_H\", \"-DRUBY_VERSION_STRING=\\\"ruby 3.2.2\\\"\", \"-DRMAGICK_VERSION_STRING=\\\"RMagick 5.2.0\\\"\", \"-DIMAGEMAGICK_GREATER_THAN_EQUAL_6_8_9=1\", \"-DIMAGEMAGICK_GREATER_THAN_EQUAL_6_9_0=1\", \"-DIMAGEMAGICK_GREATER_THAN_EQUAL_6_9_10=1\", \"-DIMAGEMAGICK_7=1\", \"-DIMAGEMAGICK_GREATER_THAN_EQUAL_7_0_8=1\", \"-DIMAGEMAGICK_GREATER_THAN_EQUAL_7_0_10=1\"], :config_h=&gt;\"Makefile\"}<br>\n<br>\ncurrent directory: /home/mauro/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rmagick-5.2.0/ext/RMagick<br>\nmake DESTDIR\\= sitearchdir\\=./.gem.20230530-25754-h6qqva sitelibdir\\=./.gem.20230530-25754-h6qqva clean<br>\n<br>\ncurrent directory: /home/mauro/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rmagick-5.2.0/ext/RMagick<br>\nmake DESTDIR\\= sitearchdir\\=./.gem.20230530-25754-h6qqva sitelibdir\\=./.gem.20230530-25754-h6qqva<br>\ncompiling rmagick.c<br>\ncompiling rmdraw.c<br>\ncompiling rmenum.c<br>\ncompiling rmfill.c<br>\ncompiling rmilist.c<br>\ncompiling rmimage.c<br>\nrmimage.c: In function ‘Image_gray_q’:<br>\nrmimage.c:7945:32: error: ‘IsGrayImage’ undeclared (first use in this function); did you mean ‘DrawImage’?<br>\n 7945 | &nbsp;&nbsp;&nbsp;&nbsp;return has_attribute(self, IsGrayImage);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^~~~~~~~~~~<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DrawImage<br>\nrmimage.c:7945:32: note: each undeclared identifier is reported only once for each function it appears in<br>\nrmimage.c:7965:1: warning: control reaches end of non-void function [-Wreturn-type]<br>\n 7965 | }<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| ^<br>\nrmimage.c: At top level:<br>\ncc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics<br>\ncc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics<br>\ncc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics<br>\ncc1: note: unrecognized command-line option ‘-Wno-void-pointer-to-enum-cast’ may have been intended to silence earlier diagnostics<br>\ncc1: note: unrecognized command-line option ‘-Wno-void-pointer-to-int-cast’ may have been intended to silence earlier diagnostics<br>\nmake: *** [Makefile:248: rmimage.o] Error 1<br>\n<br>\nmake failed, exit code 2<br>\n<br>\nGem files will remain installed in /home/mauro/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rmagick-5.2.0 for inspection.<br>\nResults logged to /home/mauro/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/extensions/x86_64-linux/3.2.0/rmagick-5.2.0/gem_make.out<br>\n</code></pre>\n<p>我不确定如何解决这个问题。我已经尝试使用 apt 安装 imagemagick，按照这个 <a href=\"https://stackoverflow.com/questions/55634219/gem-rmagick-is-not-installing-on-ubuntu-18-04\"><u>问题</u></a>中提出的建议解决方案，但是我在运行时遇到了依赖性问题<code>sudo apt install imagemagick libmagickcore-dev libmagickwand-dev</code></p>\n<p>希望你能指导我 先谢谢了！！</p>',0,'2023-05-31 03:22:00','2023-05-31 03:22:00','62c54cdd-b570-4783-820f-429c123aae64'),('cb27526c-7b13-4d2d-af4d-cda65d98469c','我在 Android RecyclerView getAdapterPosition() 中遇到问题','<p>&nbsp;</p>\n<p>我在 Android RecyclerView 中遇到问题<code>holder.getAdapterPosition()</code>。我使用的位置访问</p>\n<pre><code>int position = holder.getAdapterPosition();<br>\n</code></pre>\n<p>在这里，我使用这个条件使 O 位置项目可点击。</p>\n<pre><code>int p = holder.getAdapterPosition();<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (p == 0){<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;holder.itemView.setOnClickListener(new View.OnClickListener() {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public void onClick(View view) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataReturn dataReturn = list.get(holder.getAdapterPosition());<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String id = dataReturn.getFromNumber();<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Handle the item click here<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Move the clicked item to the top of the list<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Toast.makeText(context, &nbsp;id, Toast.LENGTH_SHORT).show();<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* Intent theIntent = new Intent(context, UserAllDataShow.class);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;theIntent.putExtra(\"id\", id);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;holder.itemView.getContext().startActivity(theIntent);*/<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>\n</code></pre>\n<p>但在这里我遇到了问题。我想使可点击的项目为 0，但也使可点击的位置为 7。如果我单击有效的第 7 个位置项目，但我想使位置 0 可点击。为什么会出现这个问题？我该如何解决这个问题？</p>\n<p>我的适配器类在下面</p>\n<pre><code>package com.leaveapplication.mosw;<br>\n<br>\nimport android.content.Context;<br>\nimport android.content.Intent;<br>\nimport android.content.res.Resources;<br>\nimport android.graphics.drawable.Drawable;<br>\nimport android.view.LayoutInflater;<br>\nimport android.view.View;<br>\nimport android.view.ViewGroup;<br>\nimport android.widget.TextView;<br>\nimport android.widget.Toast;<br>\n<br>\nimport androidx.annotation.NonNull;<br>\nimport androidx.recyclerview.widget.RecyclerView;<br>\n<br>\nimport com.bumptech.glide.Glide;<br>\n<br>\nimport java.util.ArrayList;<br>\n<br>\nimport de.hdodenhof.circleimageview.CircleImageView;<br>\n<br>\npublic class ReportAdapter extends RecyclerView.Adapter&lt;ReportAdapter.ViewHolder&gt; {<br>\n<br>\n &nbsp;&nbsp;&nbsp;Context context;<br>\n &nbsp;&nbsp;&nbsp;ArrayList&lt;DataReturn&gt; list;<br>\n<br>\n &nbsp;&nbsp;&nbsp;public ReportAdapter(Context context, ArrayList&lt;DataReturn&gt; list) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.context = context;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.list = list;<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;&nbsp;&nbsp;@NonNull<br>\n &nbsp;&nbsp;&nbsp;@Override<br>\n &nbsp;&nbsp;&nbsp;public ReportAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;View v = LayoutInflater.from(context).inflate(R.layout.report_user, parent, false);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new ReportAdapter.ViewHolder(v);</code></pre>',0,'2023-05-31 02:26:40','2023-05-31 02:26:40','2a4fc063-1cbf-464d-a2a0-35f8972cc208'),('cf64418f-12f8-4b59-a0ef-c411349a8df2','什么是 CSS string-set 的现代等价物','<p>&nbsp;</p>\n<p>有关字符串集及其用途的示例，请参阅<a href=\"https://stackoverflow.com/questions/11764700\"><u>使用 CSS 字符串集属性和内容方法</u></a></p>\n<p>经过一番困惑后，我发现这是过时的，任何主流浏览器都不再支持它。</p>\n<p>教科书用例是获取样式的最近匹配项的内容并将其放入变量中，以便<code>string(varname)</code>在页眉或页脚中使用。</p>\n<p>例如，下面会把<code>h1</code>标签的内容放入类中的任何内容中，并且每次连续更新<code>.header</code>的值<code>varnameh1</code></p>\n<pre><code>h1 { string-set: chapterTitle; }<br>\n.header { content: string(chapterTitle); }&nbsp;</code></pre>\n<pre><code>现代的等价物是什么？&nbsp;</code></pre>\n<p><br></p>\n<p><br></p>',0,'2023-05-31 03:17:30','2023-05-31 03:17:30','228395d4-22a8-4ee1-8c83-f00ed0ff6365'),('d01a4ba7-4175-44fe-bfc8-98205e37941e','PostgreSQL：join合并多个去重策略','<p>&nbsp;</p>\n<p>我有一个数据集，我正在尝试同时以两种方式清理和删除重复数据。</p>\n<p>例如 - 如果我们忽略标点符号（包括空格）、词序和缩写，这些公司名称都是相同的：</p>\n<pre><code>company_id | &nbsp;&nbsp;&nbsp;company_name &nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;words &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| words_wo_spaces | &nbsp;&nbsp;&nbsp;words_sorted &nbsp;&nbsp;&nbsp;&nbsp;| sorted_words_wo_spaces <br>\n------------+--------------------+---------------------+-----------------+---------------------+------------------------<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17 | the usa co &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| {THE,USA,COMPANY} &nbsp;&nbsp;| THEUSACOMPANY &nbsp;&nbsp;| {COMPANY,THE,USA} &nbsp;&nbsp;| COMPANYTHEUSA &nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18 | the u s a company &nbsp;| {THE,U,S,A,COMPANY} | THEUSACOMPANY &nbsp;&nbsp;| {A,COMPANY,S,THE,U} | ACOMPANYSTHEU &nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19 | usa company, the &nbsp;&nbsp;| {USA,COMPANY,THE} &nbsp;&nbsp;| USACOMPANYTHE &nbsp;&nbsp;| {COMPANY,THE,USA} &nbsp;&nbsp;| COMPANYTHEUSA &nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20 | u s a company, the | {U,S,A,COMPANY,THE} | USACOMPANYTHE &nbsp;&nbsp;| {A,COMPANY,S,THE,U} | ACOMPANYSTHEU &nbsp;&nbsp;&nbsp;&nbsp;<br>\n</code></pre>\n<p>我有一些帮助函数可以创建除<code>company_id</code>and之外的所有<code>company_name</code>列 - 用于拆分和排序单词以及重新编码单词以删除常见缩写的函数（例如，将“co”替换为“company”）。我将这些辅助函数排除在这个问题之外。</p>\n<p>如果我们查看列<code>words_wo_spaces</code>，则有两对匹配的公司：<code>17</code>/<code>18</code>和<code>19</code>/ <code>20</code>。如果我们按 分组<code>sorted_words_wo_spaces</code>，则有两对不同的匹配公司：<code>17</code>/<code>19</code>和<code>18</code>/ <code>20</code>。</p>\n<p>我真正想要的是一个查询（或两个或三个），它可以使用两种对公司进行分组的方法来确定它们是否完全相同。</p>\n<p>查询 1</p>\n<pre><code>SELECT <br>\n &nbsp;array_agg(company_id) ids<br>\n &nbsp;, array_agg(company_name) names<br>\nFROM companies<br>\nGROUP BY words_wo_spaces<br>\n<br>\n-- Returns<br>\n<br>\n-- &nbsp;&nbsp;&nbsp;ids &nbsp;&nbsp;| words_wo_spaces <br>\n-- ---------+-----------------<br>\n-- &nbsp;{19,20} | USACOMPANYTHE<br>\n-- &nbsp;{17,18} | THEUSACOMPANY<br>\n</code></pre>\n<p>查询 2</p>\n<pre><code>SELECT <br>\n &nbsp;array_agg(company_id) ids<br>\n &nbsp;, array_agg(company_name) names<br>\nFROM companies<br>\nGROUP BY sorted_words_wo_spaces<br>\n<br>\n-- Returns<br>\n<br>\n-- &nbsp;&nbsp;&nbsp;ids &nbsp;&nbsp;| sorted_words_wo_spaces <br>\n-- ---------+------------------------<br>\n-- &nbsp;{18,20} | ACOMPANYSTHEU<br>\n-- &nbsp;{17,19} | COMPANYTHEUSA<br>\n</code></pre>\n<p>但我无法弄清楚如何将两者结合起来。如果 17=18 和 18=20 和 17=19，那么它们都是一样的。是否可以将此逻辑放入 sql 查询中？</p>\n<p>我确实尝试加入这两个查询的结果，但这没有帮助（正如预期的那样，一旦我解决了）。</p>\n<pre><code>WITH<br>\n &nbsp;unsorted_groups AS &lt;query 1&gt;<br>\n &nbsp;, sorted_groups AS &lt;query 2&gt;<br>\nSELECT <br>\n &nbsp;array_cat(sorted_groups.ids, unsorted_groups.ids) ids<br>\nFROM sorted_groups <br>\nJOIN unsorted_groups <br>\n &nbsp;ON unsorted_groups.ids &amp;&amp; sorted_groups.ids;<br>\n<br>\n-- Returns<br>\n<br>\n-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ids &nbsp;&nbsp;<br>\n-- ---------------<br>\n-- &nbsp;{18,20,19,20}<br>\n-- &nbsp;{18,20,17,18}<br>\n-- &nbsp;{17,19,19,20}<br>\n-- &nbsp;{17,19,17,18}<br>\n</code></pre>\n<p>一个查询会返回这样的表，这样会有帮助，这样可以对 id 数组进行排序，然后用于将所有行分组为一个（这个理想的结果在每一行的数组中都有每个 id <em>）</em><code>ids</code>。</p>\n<pre><code>-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ids &nbsp;&nbsp;<br>\n-- ---------------<br>\n-- &nbsp;{18,17,19,20}<br>\n-- &nbsp;{18,20,17,19}<br>\n-- &nbsp;{17,19,18,20}<br>\n-- &nbsp;{17,19,20,18}<br>\n</code></pre>\n<ul>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/sql\" rel=\"tag\" title=\"显示标记为“sql”的问题\">数据库</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/postgresql\" rel=\"tag\" title=\"显示标记为“postgresql”的问题\">postgresql</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/join\" rel=\"tag\" title=\"显示标记为“加入”的问题\">加入</a></li>\n</ul>\n<p><a href=\"https://stackoverflow.com/q/76368589/21982815\" rel=\"nofollow\" title=\"这个问题的简短永久链接\">分享</a><a href=\"https://stackoverflow.com/posts/76368589/edit\" title=\"修改和完善这篇文章\">编辑</a>跟随5小时前 问<img alt=\"ebbishop的用户头像\" height=\"32\" src=\"https://www.gravatar.com/avatar/e3dc1e322ec533166176087bae50580d?s=64&amp;d=identicon&amp;r=PG&amp;f=y&amp;so-version=2\" width=\"32\"/><a href=\"https://stackoverflow.com/users/5799673/ebbishop\">主教</a><strong>1,801</strong>2个2个金徽章2020枚银徽章4343枚青铜徽章</p>\n<ul>\n  <li>有可用的相似性和 levenshtein 函数，例如，请参阅 arctype.com/blog/postgres-fuzzy-search 您可能还想考虑删除常见的停用词等。请参阅：<a href=\"https://dbfiddle.uk/5wXi9V82\" rel=\"nofollow noreferrer\"><u>dbfiddle.uk/5wXi9V82</u></a> 和/或使用全文索引：stackoverflow.com/问题/42052173/… –&nbsp;<a href=\"https://stackoverflow.com/users/2067753/paul-maxwell\" title=\"31,439 声望\">保罗麦克斯韦</a> <a href=\"https://stackoverflow.com/questions/76368589/postgresql-joins-to-combine-multiple-de-duping-strategies#comment134667244_76368589\">56 分钟前</a></li>\n</ul>\n<p><a href=\"https://stackoverflow.com/questions/76368589/postgresql-joins-to-combine-multiple-de-duping-strategies#\" title=\"使用评论来询问更多信息或提出改进建议。 避免在评论中回答问题。\">添加评论</a></p>\n<h2>1 个回答</h2>\n<p>排序： &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;最高分（默认）&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;趋势（最近的投票更重要）&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;修改日期（最新的在前）&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;创建日期（最早的在前）&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <strong>0</strong></p>\n<p><code>overlap operator &amp;&amp;</code>您可以使用以下方式加入两个查询：</p>\n<pre><code>WITH Q1 AS<br>\n(<br>\n &nbsp;SELECT <br>\n &nbsp;&nbsp;&nbsp;array_agg(company_id ORDER BY company_id) ids -- The order by is necessary for the aggregation in the joined query<br>\n &nbsp;FROM companies<br>\n &nbsp;GROUP BY words_wo_spaces<br>\n),<br>\nQ2 AS<br>\n(<br>\n &nbsp;SELECT <br>\n &nbsp;&nbsp;&nbsp;array_agg(company_id ORDER BY company_id) ids -- The order by is necessary<br>\n &nbsp;FROM companies<br>\n &nbsp;GROUP BY sorted_words_wo_spaces<br>\n),<br>\nJoined_Q AS<br>\n(<br>\n &nbsp;SELECT Q1.ids Q1_ids,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UNNEST(Q2.ids) Q2_ids -- for each array of ids from q1, unnest the matched array of ids from q2<br>\n &nbsp;FROM Q1 JOIN Q2<br>\n &nbsp;ON Q1.ids &amp;&amp; Q2.ids<br>\n)<br>\nSELECT DISTINCT ARRAY_AGG(Q2_ids ORDER BY Q2_ids) -- aggregate the unnested q2 ids as a single array.<br>\nFROM Joined_Q<br>\nGROUP BY Q1_ids</code></pre>',0,'2023-05-31 02:47:54','2023-05-31 02:47:54','c501984d-c689-4507-af88-c679a934c981'),('da265f7e-ff27-46bf-aa1d-ba2a985025fa','在 Bootstrap 中，两个项目之间的空白空间太多。如何通过不更改列来放大元素（没有宽度 x%）？','<p>&nbsp;</p>\n<p>我有一张带有图像的卡片，旁边是横幅。我用<code> col-lg-8</code>和<code>col-lg-4</code>。<code>padding-right: 20px</code>问题是卡片（也有）和横幅之间的空白空间太多，如以下屏幕截图所示：<img alt=\"SS\" src=\"https://i.stack.imgur.com/PyyJj.png\" width=\"1105\" height=\"495\"/></p>\n<p>我想删除所有空白区域，只在卡片和横幅之间留下 padding-right: 20px。我怎样才能放大卡离开<code>col-lg-8</code>和<code>col-lg-4</code>一样？（我也试过<code>col-lg-9</code>，但我不喜欢它，因为卡太大了）。</p>\n<p><strong>我对解决方案的尝试是：</strong></p>\n<ul>\n  <li>我尝试将 a 应用<code>105% widht</code>到卡片上，问题似乎已解决，但是当我缩小窗口时，卡片会加入横幅（或重叠）而不会留下任何填充。</li>\n  <li>我尝试更改列的宽度。我<code>.col-lg-8</code>从<code>width: 66.66666667%</code>变成<code>75%</code>。后来我改<code>.col-lg-4</code>从<code>width: 25%</code>，所以总得<code>100%</code>。这里问题似乎也解决了，但是有几个人建议我不要更改 Bootstrap 的列宽，并告诉我它不是很专业。</li>\n</ul>\n<p><a href=\"https://codepen.io/Danty23/pen/mdzYNKJ\" rel=\"nofollow noreferrer\"><u>这是</u></a>CodePen上的代码。我上面提出的问题的最佳解决方案是什么？谢谢</p>\n<pre><code>@media (min-width: 992px) {<br>\n &nbsp;.container-pc {<br>\n &nbsp;&nbsp;&nbsp;display: flex;<br>\n &nbsp;&nbsp;&nbsp;max-width: 1080px;<br>\n &nbsp;&nbsp;&nbsp;margin-left: auto;<br>\n &nbsp;&nbsp;&nbsp;margin-right: auto;<br>\n &nbsp;}<br>\n}<br>\n<br>\n@media (min-width: 992px) {<br>\n &nbsp;.container-primapagina {<br>\n &nbsp;&nbsp;&nbsp;padding-right: 20px;<br>\n &nbsp;}<br>\n}<br>\n<br>\n.banner {<br>\n &nbsp;text-align: right;<br>\n}<br>\n<br>\n.height1 {<br>\n &nbsp;height: 450px;<br>\n}</code></pre>\n<pre><code>&lt;!doctype html&gt;<br>\n&lt;html lang=\"en\"&gt;<br>\n<br>\n&lt;head&gt;<br>\n &nbsp;&lt;meta charset=\"utf-8\"&gt;<br>\n &nbsp;&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"&gt;<br>\n &nbsp;&lt;link href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css\" rel=\"stylesheet\"&gt;<br>\n &nbsp;&lt;link href=\"https://getbootstrap.com/docs/5.3/assets/css/docs.css\" rel=\"stylesheet\"&gt;<br>\n &nbsp;&lt;title&gt;Bootstrap Example&lt;/title&gt;<br>\n &nbsp;&lt;script src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js\"&gt;&lt;/script&gt;<br>\n<br>\n &nbsp;&lt;link href=\"style.css\" rel=\"stylesheet\"&gt;<br>\n<br>\n&lt;/head&gt;<br>\n<br>\n&lt;body&gt;<br>\n<br>\n &nbsp;&lt;div class=\"container-pc\"&gt;<br>\n<br>\n &nbsp;&nbsp;&nbsp;&lt;div class=\"container-primapagina col-12 col-md-8 col-lg-8\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"card text-bg-dark\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;img src=\"https://siviaggia.it/wp-content/uploads/sites/2/2021/02/grattacieli-new-york.jpg\" class=\"card-img height1\" alt=\"...\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"card-img-overlay\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;h5 class=\"card-title\"&gt;Card title&lt;/h5&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;/div&gt;<br>\n<br>\n &nbsp;&nbsp;&nbsp;&lt;div class=\"banner col-lg-4\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;img src=\"https://i.ibb.co/tmCY8gW/ffffffffffff.png\" alt=\"provabanner\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;/div&gt;<br>\n &nbsp;&lt;/div&gt;<br>\n<br>\n &nbsp;&lt;div class=\"container-pc\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;div class=\"col-lg-8\" style=\"background-color: aqua;\" ;&gt;Col 8 (Utility only for measuring)&lt;/div&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;div class=\"col-lg-4\" style=\"background-color: rgb(81, 255, 0);\" ;&gt;Col 4 (Utility only for measuring)&lt;/div&gt;<br>\n &nbsp;&lt;/div&gt;<br>\n<br>\n&lt;/body&gt;<br>\n<br>\n&lt;/html&gt;</code></pre>\n<p>运行代码片段<u>展开片段</u>&nbsp;</p>',0,'2023-05-31 02:30:05','2023-05-31 02:30:05','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('e2239ce8-848d-45fe-81e1-00dc02f8c518','从图库中的 Sharepoint 列表中仅显示具有空列的过滤记录的最佳方法是什么','<p>&nbsp;</p>\n<p>确切的问题是：如何在库中仅显示过滤记录，按其中一列为空（其中没有值）的条件进行过滤。</p>\n<p>假设我有一个 Sharepoint 列表“X”，其中有很多列，其中一列称为“C”。在 PowerApps 中，我想要一个垂直画廊，它只会显示列表 X 中 C 列为空的记录。</p>\n<p>如果我使用<code>IsBlank()</code>或其他条件，我会收到授权警告，正确的方法是什么，或者解决方法是什么？</p>\n<p>我什至查看了 Sharepoint 列表，但显然不能在 PowerApps 中使用视图。</p>\n<p>任何专业提示？</p>',0,'2023-05-31 02:56:53','2023-05-31 02:56:53','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('e2ae7d25-c8ea-4577-b31a-93ef88ee98db','如何排查 Firestore 总超时问题？','<p>&nbsp;<br>\n<a href=\"https://stackoverflow.com/questions/76369758/how-to-troubleshoot-firestore-total-timeout?lastactivity\" title=\"2023-05-31 02:19:31Z\">今天</a>修改浏览 6 次<a href=\"https://stackoverflow.com/collectives/google-cloud\">Google Cloud</a> Collective 的一部分<strong>0</strong></p>\n<p>我有几个与 Firebase 交互的 Google Cloud 运行的 Cloud Functions。</p>\n<p>除了一个功能外，所有功能都正常工作，可以读取和写入 Firebase。一个函数出错：</p>\n<blockquote>在任何响应之前，API google.firestore.v1.Firestore 的总超时超过 60000 毫秒...</blockquote>\n<p>我检查了错误和日志部分。没有任何问题的迹象，或者至少没有任何描述性的内容。几天前我第一次看到这个错误，我只是根据猜测通过关联一个计费帐户来解决。我现在该如何解决这个问题？</p>\n<p><img alt=\"在此处输入图像描述\" src=\"https://i.stack.imgur.com/UO74s.png\" width=\"1010\" height=\"262\"/>？</p>\n<ul>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/firebase\" rel=\"tag\" title=\"显示标记为“firebase”的问题\">火力基地</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/google-cloud-platform\" rel=\"tag\" title=\"显示标记为“google-cloud-platform”的问题\">谷歌云平台</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/google-cloud-firestore\" rel=\"tag\" title=\"显示标记为“google-cloud-firestore”的问题\">google-cloud-firestore</a></li>\n  <li><a href=\"https://stackoverflow.com/questions/tagged/google-cloud-functions\" rel=\"tag\" title=\"显示标记为“google-cloud-functions”的问题\">谷歌云功能</a></li>\n</ul>',0,'2023-05-31 02:37:19','2023-05-31 02:37:19','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('e62f2e5f-24c9-40fd-8a77-b1320240cd78','How to intern objects with weakref/gc support?','<p>&nbsp;</p>\n<p>I\'m trying to implement interning of non-string objects in python. For strings we have the <code>sys.intern</code> function. However it doesn\'t support other immutable objects. To put it out of the way, I\'m aware of the problems that may arise when the interned objects are modified.</p>\n<p>A commonly cited way of interning for non-strings is:</p>\n<pre><code>S = {}<br>\nx = S.setdefault(x, x)<br>\n</code></pre>\n<p>However such a <code>dict</code> holds strong references to the interned objects, and therefore will grow indefinitely, which is a problem in my application.</p>\n<p>I figured out that there\'s a <code>WeakSet</code> type that would auto-collect unreferenced elements. However there doesn\'t seem to be a fast way to get the held object in the set:</p>\n<pre><code>S = WeakSet()<br>\nS.add(x) &nbsp;&nbsp;&nbsp;# returns nothing<br>\n<br>\n# a very slow way to work around it:<br>\nfor y in S:<br>\n &nbsp;&nbsp;&nbsp;if y == x:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x = y<br>\n</code></pre>\n<p>There are also <code>WeakKeyDictionary</code> and <code>WeakValueDictionary</code>, but there doesn\'t seem to be a <code>WeakKeyValueDictionary</code>.</p>\n<p>So how can this be achieved in python?</p>',0,'2023-05-31 02:32:27','2023-05-31 02:32:27','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('e68c6281-d9d6-453b-9d7a-86f98fa8ed7e','在 Power BI Desktop 中合并行中的相似值并连接后续列','<p>&nbsp;</p>\n<p>我有一个问题，我确信这可能是非常基本的问题，但我的大脑已经停止运作，我无法克服这个问题。我有一个包含两列的表。ID 列和服务列。如下所示：</p>\n<p><img alt=\"在此处输入图像描述\" src=\"https://i.stack.imgur.com/9yEu5.png\" width=\"230\" height=\"321\"/></p>\n<p>如您所见，ID 列有重复值，我想合并 ID 列中的重复值，然后连接每行的 Service 列，如下所示：</p>\n<p><img alt=\"在此处输入图像描述\" src=\"https://i.stack.imgur.com/MXaC0.png\" width=\"230\" height=\"161\"/></p>\n<p>任何帮助将不胜感激！！！</p>',0,'2023-05-31 02:57:39','2023-05-31 02:57:39','dcc57fa8-bfdf-4192-bdff-f31302fd2511'),('e7ac9048-c9a0-49d6-9c2a-303c5b557611','如何在 Nextjs 的 header 中设置 refer','<p>&nbsp;</p>\n<p>我想在我的下一个 js 项目中显示一些图像<a href=\"https://zjcdn.mangahere.org/store/manga/106/00-001.1/compressed/s02.jpg\" rel=\"nofollow noreferrer\"><u>https://zjcdn.mangahere.org/store/manga/106/00-001.1/compressed/s02.jpg</u></a>但它需要一个自定义引用来访问图像“Referer”： “http://www.mangahere.cc/manga/one_piece/v00/c001.1/1.html”</p>\n<p>我尝试使用 fetch(url, option) 方法获取图像链接，但没有成功。我想像这样显示 20 到 30 张图像。</p>',0,'2023-05-31 02:49:35','2023-05-31 02:49:35','c501984d-c689-4507-af88-c679a934c981'),('e839a2e0-9b79-44ff-86be-665039d34c83','NextJS13 API 请求主体在 API 处理程序中为空','<p>&nbsp;</p>\n<p>我建立了一个新的 NextJs 项目 (v13.4.1)。在我的路径中<code>src&gt;app&gt;api</code>有一个<code>route.js</code>文件。这是 route.js 文件中的代码</p>\n<pre><code>import { NextResponse } from \"next/server\";<br>\n<br>\nexport async function GET(request) {<br>\n &nbsp;console.log(\"Request :: \", request);<br>\n &nbsp;return NextResponse.json({ msg: \"success\" });<br>\n}<br>\n</code></pre>\n<p>在控制台中请求不包含<code>body</code>，它是<code>null</code>。我调用了带有 JSON 主体的 API。</p>\n<p>这是控制台。</p>\n<pre><code>Request :: &nbsp;NextRequest [Request] {<br>\n &nbsp;[Symbol(realm)]: { settingsObject: { baseUrl: undefined } },<br>\n &nbsp;[Symbol(state)]: {<br>\n &nbsp;&nbsp;&nbsp;method: \'GET\',<br>\n &nbsp;&nbsp;&nbsp;localURLsOnly: false,<br>\n &nbsp;&nbsp;&nbsp;unsafeRequest: false,<br>\n &nbsp;&nbsp;&nbsp;body: null,<br>\n &nbsp;&nbsp;&nbsp;client: { baseUrl: undefined },<br>\n &nbsp;&nbsp;&nbsp;reservedClient: null,<br>\n &nbsp;&nbsp;&nbsp;replacesClientId: \'\',<br>\n &nbsp;&nbsp;&nbsp;window: \'client\',<br>\n &nbsp;&nbsp;&nbsp;keepalive: false,<br>\n &nbsp;&nbsp;&nbsp;serviceWorkers: \'all\',<br>\n &nbsp;&nbsp;&nbsp;initiator: \'\',<br>\n &nbsp;&nbsp;&nbsp;destination: \'\',<br>\n &nbsp;&nbsp;&nbsp;priority: null,<br>\n &nbsp;&nbsp;&nbsp;origin: \'client\',<br>\n &nbsp;&nbsp;&nbsp;policyContainer: \'client\',<br>\n &nbsp;&nbsp;&nbsp;referrer: \'client\',<br>\n &nbsp;&nbsp;&nbsp;referrerPolicy: \'\',<br>\n &nbsp;&nbsp;&nbsp;mode: \'cors\',<br>\n &nbsp;&nbsp;&nbsp;useCORSPreflightFlag: false,<br>\n &nbsp;&nbsp;&nbsp;credentials: \'same-origin\',<br>\n &nbsp;&nbsp;&nbsp;useCredentials: false,<br>\n &nbsp;&nbsp;&nbsp;cache: \'default\',<br>\n &nbsp;&nbsp;&nbsp;redirect: \'follow\',<br>\n &nbsp;&nbsp;&nbsp;integrity: \'\',<br>\n &nbsp;&nbsp;&nbsp;cryptoGraphicsNonceMetadata: \'\',<br>\n &nbsp;&nbsp;&nbsp;parserMetadata: \'\',<br>\n &nbsp;&nbsp;&nbsp;reloadNavigation: false,<br>\n &nbsp;&nbsp;&nbsp;historyNavigation: false,<br>\n &nbsp;&nbsp;&nbsp;userActivation: false,<br>\n &nbsp;&nbsp;&nbsp;taintedOrigin: false,<br>\n &nbsp;&nbsp;&nbsp;redirectCount: 0,<br>\n &nbsp;&nbsp;&nbsp;responseTainting: \'basic\',<br>\n &nbsp;&nbsp;&nbsp;preventNoCacheCacheControlHeaderModification: false, <br>\n &nbsp;&nbsp;&nbsp;done: false,<br>\n &nbsp;&nbsp;&nbsp;timingAllowFailed: false,<br>\n &nbsp;&nbsp;&nbsp;headersList: HeadersList {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Symbol(headers map)]: [Map],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Symbol(headers map sorted)]: [Map]<br>\n &nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;urlList: [ [URL] ],<br>\n &nbsp;&nbsp;&nbsp;url: URL {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;href: \'http://localhost:3000/api\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;origin: \'http://localhost:3000\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;protocol: \'http:\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;username: \'\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password: \'\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;host: \'localhost:3000\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hostname: \'localhost\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port: \'3000\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pathname: \'/api\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;search: \'\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;searchParams: URLSearchParams {},<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hash: \'\'<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;},<br>\n &nbsp;[Symbol(signal)]: AbortSignal { aborted: false }, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;[Symbol(headers)]: HeadersList {<br>\n &nbsp;&nbsp;&nbsp;[Symbol(headers map)]: Map(14) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'accept\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'cache-control\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'connection\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'content-type\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'custom-header\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'host\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'user-agent\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-for\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-host\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-port\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-proto\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-invoke-path\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-invoke-query\' =&gt; [Object],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-middleware-invoke\' =&gt; [Object]<br>\n &nbsp;&nbsp;&nbsp;},<br>\n &nbsp;&nbsp;&nbsp;[Symbol(headers map sorted)]: Map(14) {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'accept\' =&gt; \'application/json\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'cache-control\' =&gt; \'\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'connection\' =&gt; \'close\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'content-type\' =&gt; \'application/json\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'custom-header\' =&gt; \'This is a custom header\', &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'host\' =&gt; \'localhost:3000\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'user-agent\' =&gt; \'Thunder Client (https://www.thunderclient.com)\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-for\' =&gt; \'::ffff:127.0.0.1\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-host\' =&gt; \'localhost:3000\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-port\' =&gt; \'3000\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-forwarded-proto\' =&gt; \'http\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-invoke-path\' =&gt; \'/api\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-invoke-query\' =&gt; \'%7B%7D\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'x-middleware-invoke\' =&gt; \'\'<br>\n &nbsp;&nbsp;&nbsp;}<br>\n &nbsp;},<br>\n &nbsp;[Symbol(internal request)]: {<br>\n &nbsp;&nbsp;&nbsp;cookies: RequestCookies { _parsed: Map(0) {}, _headers: [HeadersList] },<br>\n &nbsp;&nbsp;&nbsp;geo: {},<br>\n &nbsp;&nbsp;&nbsp;ip: undefined,<br>\n &nbsp;&nbsp;&nbsp;nextUrl: NextURL { [Symbol(NextURLInternal)]: [Object] },<br>\n &nbsp;&nbsp;&nbsp;url: \'http://localhost:3000/api\'<br>\n &nbsp;}<br>\n}<br>\n</code></pre>\n<p>这是我点击 API 时的标头和正文。</p>\n<p><a href=\"https://i.stack.imgur.com/CkRXn.png\" rel=\"nofollow noreferrer\"><u>调用 API 标头</u></a></p>\n<p><a href=\"https://i.stack.imgur.com/ImHHe.png\" rel=\"nofollow noreferrer\"><u>调用 API 主体</u></a></p>\n<p>在这里，API 调用成功，我收到了从上述函数发送的响应。<br>\n我尝试从不同的客户端调用 API，</p>\n<p>我也尝试过使用 POST 方法。</p>\n<p>没有任何帮助。</p>',0,'2023-05-31 02:34:48','2023-05-31 02:34:48','7f758af3-32cf-4d59-86bf-c034672e4ad7'),('e9d80cba-aaa7-4fb1-b0f0-f8856804420c','如何防止 addEventListener 在子元素上触发','<p>&nbsp;</p>\n<p>如果我将事件侦听器添加到 html 元素<code>[target HTMLElement].addEventListener</code>，</p>\n<p>添加到目标元素甚至目标元素的子元素的监听器</p>\n<p>我试过这个：</p>\n<pre><code>&lt;div id=\"target\"&gt;<br>\n &nbsp;&nbsp;&nbsp;&lt;span&gt;child&lt;span/&gt;<br>\n&lt;/div&gt;<br>\n<br>\n&lt;script&gt;<br>\nconst t = document.getElementById(\"target\")<br>\nt.addEventListener(\'dragenter\', someCallback)<br>\n&lt;/script&gt;<br>\n</code></pre>\n<p>我希望当 dragenter 其他目标而不是子目标时调用 someCallback</p>\n<p>但是当 dragenter 目标指向孩子时 someCallback 也会调用。</p>',0,'2023-05-31 02:41:47','2023-05-31 02:41:47','c501984d-c689-4507-af88-c679a934c981'),('eb8ba882-ac03-4516-a550-c4511e926d34','How to make apples touch the character then count as score?','<p>&nbsp;</p>\n<ul>\n  <li>苹果从屏幕上掉下来</li>\n  <li>底部的字符</li>\n  <li>角色收集苹果</li>\n  <li>分数上升</li>\n  <li>如果没有苹果收集，分数每秒都会下降</li>\n  <li>时间从 15 开始下降</li>\n  <li>游戏将在 0 秒停止（尚未完成）</li>\n</ul>\n<p>这是我的代码：</p>\n<pre><code>import random<br>\nimport pgzrun<br>\nimport time<br>\n<br>\n<br>\nWIDTH = 800<br>\nHEIGHT = 600<br>\n<br>\nscore = 0<br>\ngame_over = False<br>\ntime_left = 15<br>\n<br>\ncharacter = Actor(\'tile001\', pos=(WIDTH / 2, HEIGHT - 50))<br>\ncharacter.width = 50<br>\ncharacter.height = 50<br>\n<br>\ndef reset_object_position(obj):<br>\n &nbsp;&nbsp;&nbsp;obj.x = random.randint(50, WIDTH - 50)<br>\n &nbsp;&nbsp;&nbsp;obj.y = random.randint(-HEIGHT, -50)<br>\n<br>\nobjects = []<br>\nfor i in range(5):<br>\n &nbsp;&nbsp;&nbsp;obj = Actor(\'apple\')<br>\n &nbsp;&nbsp;&nbsp;reset_object_position(obj)<br>\n &nbsp;&nbsp;&nbsp;objects.append(obj)<br>\n<br>\n<br>\ndef draw():<br>\n &nbsp;&nbsp;&nbsp;screen.clear()<br>\n &nbsp;&nbsp;&nbsp;screen.blit(\'big-tree\',(0,0))<br>\n &nbsp;&nbsp;&nbsp;character.draw()<br>\n &nbsp;&nbsp;&nbsp;for obj in objects:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.draw()<br>\n &nbsp;&nbsp;&nbsp;screen.draw.text(\"Score: \" + str(score), (20, 20), color=\"white\")<br>\n &nbsp;&nbsp;&nbsp;screen.draw.text(\"Time: \" + str(time_left), (WIDTH - 100, 20), color=\"white\")<br>\n &nbsp;&nbsp;&nbsp;<br>\ndef update():<br>\n &nbsp;&nbsp;&nbsp;global time_left, game_over<br>\n &nbsp;&nbsp;&nbsp;move_objects()<br>\n &nbsp;&nbsp;&nbsp;if time_left &gt; 0:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time_left -= 1 / 60<br>\n &nbsp;&nbsp;&nbsp;if time_left &lt;0:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time_left = 0<br>\n &nbsp;&nbsp;&nbsp;if time_left == 0:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;game_over = True<br>\n &nbsp;&nbsp;&nbsp;if game_over == True:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screen.clear()<br>\n &nbsp;&nbsp;&nbsp;gameover = Actor(\'gameover\')<br>\n &nbsp;&nbsp;&nbsp;gameover.pos = 0, 0<br>\n<br>\n<br>\ndef move_objects():<br>\n &nbsp;&nbsp;&nbsp;global score<br>\n<br>\n &nbsp;&nbsp;&nbsp;for obj in objects:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.y += 4<br>\n<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if obj.colliderect(character):<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score += 1<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reset_object_position(obj)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif obj.y &gt; HEIGHT:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;score -= 1<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reset_object_position(obj)<br>\n<br>\ndef on_key_down(key):<br>\n &nbsp;&nbsp;&nbsp;if key == keys.LEFT and character.x &gt; 50:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character.x -= 25<br>\n &nbsp;&nbsp;&nbsp;elif key == keys.RIGHT and character.x &lt; WIDTH - 50:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character.x += 25<br>\n<br>\nclock.schedule_interval(update, 1.0)<br>\n<br>\npgzrun.go()<br>\n<br>\n</code></pre>\n<p><br></p>',0,'2023-05-31 02:50:26','2023-05-31 02:50:26','c501984d-c689-4507-af88-c679a934c981'),('ef971245-218e-4420-a472-467516d9c49b','Disable ONLY_FULL_GROUP_BY','<p>I accidentally enabled ONLY_FULL_GROUP_BY mode like this</p>\n<pre><code>SET sql_mode = \'ONLY_FULL_GROUP_BY\';</code></pre>\n<p>How do I disable it?</p>\n<p><br></p>',3,'2023-05-27 09:39:33','2023-05-27 10:39:36','6e948275-83ae-418f-a456-9b9e7dafcd20'),('f4ca5aed-842a-46fc-9d6d-822347d2d514','使用 Angular 7+ 在 ABP 框架中使用“getRedirectUrl”函数时出错','<p>&nbsp;</p>\n<p>我正在使用 Angular 7+ 作为 UI 开发 ABP 框架，我想更改为 Resource Owner Password Flow 作为以下<a href=\"https://docs.abp.io/en/abp/latest/UI/Angular/Authorization\" rel=\"nofollow noreferrer\"><u>文档</u></a>，我的 environment.ts 看起来像这样：</p>\n<pre><code>const baseUrl = \'http://localhost:4200\';<br>\n<br>\nexport const environment = {<br>\n production: false,<br>\noAuthConfig: {<br>\n &nbsp;&nbsp;&nbsp;issuer: \'https://localhost:44331/\',<br>\n &nbsp;&nbsp;&nbsp;redirectUri: baseUrl,<br>\n &nbsp;&nbsp;&nbsp;clientId: \'MyApp_App\',<br>\n &nbsp;&nbsp;&nbsp;scope: \'offline_access MyApp\',<br>\n &nbsp;&nbsp;&nbsp;requireHttps: true<br>\n &nbsp;},<br>\n}<br>\n</code></pre>\n<p>我想更换登录组件，所以我按照这个<a href=\"https://docs.abp.io/en/abp/latest/UI/Angular/Component-Replacement\" rel=\"nofollow noreferrer\"><u>文档</u></a>。</p>\n<p>所以，在我的<code>app.component.ts</code>我补充说：</p>\n<pre><code>export class AppComponent {<br>\n &nbsp;constructor(private replaceableComponents: ReplaceableComponentsService) {<br>\n &nbsp;&nbsp;&nbsp;this.replaceableComponents.add({<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;component: CustomLoginComponent,<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;key: eAccountComponents.Login<br>\n &nbsp;&nbsp;&nbsp;});<br>\n &nbsp;}<br>\n}<br>\n</code></pre>\n<p>并创建了以下 Github<a href=\"https://github.com/abpframework/abp/blob/dev/npm/ng-packs/packages/account/src/lib/components/login/login.component.ts#L54\" rel=\"nofollow noreferrer\"><u>链接</u></a>的组件，所以我有一个组件：</p>\n<pre><code>import { eAccountComponents } from \'@abp/ng.account\';<br>\nimport { AuthService, ConfigStateService } from \'@abp/ng.core\';<br>\nimport { getRedirectUrl } from \'@abp/ng.oauth/lib/utils/auth-utils\';<br>\nimport { ToasterService } from \'@abp/ng.theme.shared\';<br>\nimport { Component, Injector, OnInit } from \'@angular/core\';<br>\nimport {<br>\n &nbsp;UntypedFormBuilder,<br>\n &nbsp;UntypedFormGroup,<br>\n &nbsp;Validators<br>\n} from \'@angular/forms\';<br>\nimport { catchError, finalize, throwError } from \'rxjs\';<br>\n<br>\nconst { maxLength, required } = Validators;<br>\n@Component({<br>\n &nbsp;selector: \'app-custom-login\',<br>\n &nbsp;templateUrl: \'./custom-login.component.html\'<br>\n})<br>\nexport class CustomLoginComponent implements OnInit {<br>\n &nbsp;form!: UntypedFormGroup;<br>\n<br>\n &nbsp;inProgress: boolean = false;<br>\n<br>\n &nbsp;isSelfRegistrationEnabled = true;<br>\n<br>\n &nbsp;authWrapperKey = eAccountComponents.AuthWrapper;<br>\n<br>\n &nbsp;constructor(<br>\n &nbsp;&nbsp;&nbsp;protected injector: Injector,<br>\n &nbsp;&nbsp;&nbsp;protected fb: UntypedFormBuilder,<br>\n &nbsp;&nbsp;&nbsp;protected toasterService: ToasterService,<br>\n &nbsp;&nbsp;&nbsp;protected authService: AuthService,<br>\n &nbsp;&nbsp;&nbsp;protected configState: ConfigStateService<br>\n &nbsp;) {}<br>\n<br>\n &nbsp;ngOnInit(): void {<br>\n &nbsp;&nbsp;&nbsp;this.init();<br>\n &nbsp;&nbsp;&nbsp;this.buildForm();<br>\n &nbsp;}<br>\n<br>\n &nbsp;protected init(): void {<br>\n &nbsp;&nbsp;&nbsp;this.isSelfRegistrationEnabled =<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(this.configState.getSetting(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'Abp.Account.IsSelfRegistrationEnabled\'<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;) as string) || \'\'<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;).toLowerCase() !== \'false\';<br>\n &nbsp;}<br>\n<br>\n &nbsp;protected buildForm(): void {<br>\n &nbsp;&nbsp;&nbsp;this.form = this.fb.group({<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;username: [\'\', [required, maxLength(255)]],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;password: [\'\', [required, maxLength(128)]],<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rememberMe: [false]<br>\n &nbsp;&nbsp;&nbsp;});<br>\n &nbsp;}<br>\n<br>\n &nbsp;onSubmit(): void {<br>\n &nbsp;&nbsp;&nbsp;if (this.form.invalid) return;<br>\n<br>\n &nbsp;&nbsp;&nbsp;this.inProgress = true;<br>\n<br>\n &nbsp;&nbsp;&nbsp;const { username, password, rememberMe } = this.form.value;<br>\n<br>\n &nbsp;&nbsp;&nbsp;const redirectUrl = getRedirectUrl(this.injector);<br>\n &nbsp;&nbsp;&nbsp;this.authService<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.login({ username, password, rememberMe, redirectUrl })<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pipe(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catchError(err =&gt; {<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.toasterService.error(<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err.error?.error_description ||<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err.error?.error.message ||<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'AbpAccount::DefaultErrorMessage\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\'\',<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ life: 7000 }<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return throwError(err);<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}),<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finalize(() =&gt; (this.inProgress = false))<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.subscribe();<br>\n &nbsp;}<br>\n}<br>\n</code></pre>\n<p>但是当我运行它时，我在控制台 cmd 中收到以下错误消息：</p>\n<blockquote>错误：src/app/account/login/custom-login.component.ts:3:10 - 错误 TS2305：模块“@abp/ng.oauth/lib/utils/auth-utils”没有导出成员“getRedirectUrl” \'.<br>\n从\'@abp/ng.oauth/lib/utils/auth-utils\'导入{getRedirectUrl}；</blockquote>\n<p>Is that an actual ABP bug? Why can\'t I use the <code>getRedirect</code> function?</p>',0,'2023-05-31 02:42:52','2023-05-31 02:42:52','c501984d-c689-4507-af88-c679a934c981'),('f881fee7-cc25-4f22-b369-57c439554fa8','使用带有拦截和 xreg 的 arima.sim 模拟时间序列数据','<p>&nbsp;</p>\n<p>我已经用 ARIMA 模型拟合了一个时间序列数据集，其中包括 xreg 使用</p>\n<pre><code>model4 = auto.arima(z, xreg = lvl, stepwise = F, approximation = F, trace = T, d = 0)<br>\n</code></pre>\n<p>模型拟合的结果是 ARIMA(4,0,1) with xreg 是</p>\n<pre><code>summary(model4)<br>\n<br>\nSeries: z <br>\nRegression with ARIMA(4,0,1) errors <br>\n<br>\nCoefficients:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar2 &nbsp;&nbsp;&nbsp;&nbsp;ar3 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ar4 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ma1 &nbsp;intercept &nbsp;&nbsp;&nbsp;xreg<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.7979 &nbsp;-1.0159 &nbsp;0.3085 &nbsp;-0.0963 &nbsp;-0.9462 &nbsp;&nbsp;&nbsp;55.8895 &nbsp;12.709<br>\ns.e. &nbsp;0.0164 &nbsp;&nbsp;0.0260 &nbsp;0.0244 &nbsp;&nbsp;0.0127 &nbsp;&nbsp;0.0113 &nbsp;&nbsp;&nbsp;&nbsp;1.2883 &nbsp;&nbsp;2.065<br>\n<br>\nsigma^2 = 140.9: &nbsp;log likelihood = -28198.32<br>\nAIC=56412.65 &nbsp;&nbsp;AICc=56412.67 &nbsp;&nbsp;BIC=56467.75<br>\n<br>\nTraining set error measures:<br>\n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ME &nbsp;&nbsp;&nbsp;RMSE &nbsp;&nbsp;&nbsp;&nbsp;MAE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MPE &nbsp;&nbsp;&nbsp;MAPE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MASE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ACF1<br>\nTraining set 0.001213663 11.8654 7.51428 -3.137279 13.7287 0.9375283 -0.001053871<br>\n</code></pre>\n<p>这里 xreg 是一个虚拟变量，如果事件发生则表示是，反之亦然。如何模拟包含<code>model4</code>作为基础的数据集？我试过</p>\n<pre><code>simdata = arima.sim(model = list(ar = c(1.7979,-1.0159,0.3085,-0.0963), ma = -0.9462), n = 1000)<br>\n</code></pre>\n<p>但我不知道如何在模拟中包含拦截和 xreg 信息。我愿意学习除<code>arima.sim</code>.</p>',0,'2023-05-31 03:19:04','2023-05-31 03:19:04','62c54cdd-b570-4783-820f-429c123aae64');
/*!40000 ALTER TABLE `posts` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping data for table `posttag`
--

LOCK TABLES `posttag` WRITE;
/*!40000 ALTER TABLE `posttag` DISABLE KEYS */;
INSERT INTO `posttag` VALUES ('2023-05-31 02:35:46','2023-05-31 02:35:46','0e6af673-be1b-403e-80a1-1bfb458b81f3','acb3feb0-3ad4-47c3-b2c3-31eda6380ad9'),('2023-05-31 02:45:40','2023-05-31 02:45:40','16ec2294-b3ea-424b-bcfa-5f85a9da558d','86c6d3a5-4b3d-4139-9301-a577ef4b6947'),('2023-05-27 09:35:18','2023-05-27 09:35:18','18b96219-5a3c-48c1-a4bd-17c6e64f2143','2ccb76cc-4276-4734-8c77-6788fa2edc32'),('2023-05-27 09:35:18','2023-05-27 09:35:18','18b96219-5a3c-48c1-a4bd-17c6e64f2143','99a63fc5-bc00-43cf-ad3b-74e9de89de6e'),('2023-05-27 09:35:18','2023-05-27 09:35:18','18b96219-5a3c-48c1-a4bd-17c6e64f2143','aa9a0fac-4fd8-4515-bdc9-ba4411bfe7e6'),('2023-05-31 02:51:29','2023-05-31 02:51:29','1b497ecb-a424-4c16-ac48-41c8d9eb9908','2e3eb7a7-67d4-4890-bef7-78c8182a7ca8'),('2023-05-31 03:15:21','2023-05-31 03:15:21','1b6ea9b0-7478-43f0-a23a-fb4d47ae5faa','bc1e202d-ae2f-4535-957b-6db42c332be9'),('2023-05-31 02:53:46','2023-05-31 02:53:46','1ccd259d-987c-4aa7-853b-5ffd61e8ab9a','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 02:29:28','2023-05-31 02:29:28','25bd57a2-3a29-437c-a69d-df1fe2cc6227','f39852d2-c380-4a81-8a70-47024f89b081'),('2023-05-31 02:58:43','2023-05-31 02:58:43','25dca04a-7f15-46e4-a987-0b74a3a81921','8f4fb14d-ec1c-4921-9a82-d9deb2edd87f'),('2023-05-31 03:00:47','2023-05-31 03:00:47','26ffef9a-49a7-4bac-a3ee-7ad7ff7f330e','0c455a4b-6cdc-46d7-839f-09ce6a605202'),('2023-05-31 02:47:15','2023-05-31 02:47:15','276d9d33-2994-44b9-b2fd-e93acecf8d64','755e3290-1549-4a25-9cfb-e427e9adcc2d'),('2023-05-31 02:33:49','2023-05-31 02:33:49','2b32dd8f-6a4a-4127-9671-e5c470f07892','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 02:40:11','2023-05-31 02:40:11','2ee92905-7363-4785-be87-a1f4c3c133fd','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 03:14:13','2023-05-31 03:14:13','31a3026b-d02c-4506-85d9-db296ec72b8e','3f90090b-4b8e-44a1-9722-e128be7030db'),('2023-05-30 02:45:20','2023-05-30 02:45:20','33f55b6c-0c46-4b8c-8534-1bb7e0ef1fe9','2e4ec79c-2b7b-4130-b55a-d194016f0f80'),('2023-05-31 02:40:42','2023-05-31 02:40:42','373f2e97-af59-4847-967c-1d95dec18059','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 03:17:59','2023-05-31 03:17:59','37edd9fc-6630-483b-9d15-dc3172c7239d','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 03:22:23','2023-05-31 03:22:23','3d03a6e1-79f5-4875-a8ae-34aed12f4ff1','f54c09f5-65c4-4b53-9a72-2af6ded55b9d'),('2023-05-31 02:38:24','2023-05-31 02:38:24','415492b8-0f52-4043-b6bd-fe8eb447369f','de284e8b-5754-40b1-bab1-22c00e5e5887'),('2023-05-29 01:35:01','2023-05-29 01:35:01','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328','114d366c-d370-44f0-aff2-f0d61600fd0f'),('2023-05-29 01:35:01','2023-05-29 01:35:01','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328','5ef69670-ecbc-4921-9fdc-10de2941286c'),('2023-05-29 01:35:01','2023-05-29 01:35:01','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328','7ff96b8b-68da-4acd-9ce0-5aa409f043be'),('2023-05-29 01:35:01','2023-05-29 01:35:01','41dac1f4-d0c9-4fdb-8e13-d2a9638a4328','e80d19c5-8134-4dc5-961f-a4ffa6e47e75'),('2023-05-31 02:58:06','2023-05-31 02:58:06','53fde405-7cd7-4100-989e-c1d09b723513','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 03:00:03','2023-05-31 03:00:03','5631eb9c-5f63-4686-9f23-a66718f9bdb1','77e2da0c-dea2-4cd1-b3cc-54c87ea5fb0a'),('2023-05-31 02:48:24','2023-05-31 02:48:24','581551bc-6cd2-40aa-beb8-bd13f8752bd5','a8d7470d-5db8-441c-bdb9-108188dded05'),('2023-05-27 09:31:26','2023-05-27 09:31:26','5b26dfa6-9c34-4beb-9069-ef7626fe72a8','82e0a429-e473-4487-90a7-60aa390d6f48'),('2023-05-31 02:42:25','2023-05-31 02:42:25','5f8828a8-293a-4c71-9873-f144864c3325','15b7989e-afc8-46c9-9511-8e45d0d34855'),('2023-05-31 02:49:02','2023-05-31 02:49:02','61346b04-8034-4098-a2e4-47371546a53e','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 02:56:04','2023-05-31 02:56:04','6274cf7a-3f23-460d-b605-1e804a5eeaf8','fa53bd1e-3499-4477-9197-6d5e947e9283'),('2023-05-31 02:44:57','2023-05-31 02:44:57','63ed0853-fedb-4dfb-b409-bed99cd84c7b','81e01154-5ca2-40c0-9ec6-a16c96d4f046'),('2023-05-30 02:46:52','2023-05-30 02:46:52','64bffaaf-6711-4301-ac79-b58573c379a6','a79c97dc-9066-4448-9994-0ee3514b598a'),('2023-05-31 02:43:35','2023-05-31 02:43:35','64d035cd-c1dc-430d-b8be-7f406e7f4fb2','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 03:20:36','2023-05-31 03:20:36','6b72657f-4201-4b41-8123-d8a443c145e5','2e4ec79c-2b7b-4130-b55a-d194016f0f80'),('2023-05-31 02:41:20','2023-05-31 02:41:20','6f04aa75-4930-477e-9677-c72208859001','f54c09f5-65c4-4b53-9a72-2af6ded55b9d'),('2023-05-27 10:45:33','2023-05-27 10:45:33','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e','0488923d-8bb7-4f95-8449-30184c66a718'),('2023-05-27 10:45:33','2023-05-27 10:45:33','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e','5373623e-a049-4427-a78a-a95442b61734'),('2023-05-27 10:45:33','2023-05-27 10:45:33','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e','798a02e5-e269-415a-a4fc-b203a80c033c'),('2023-05-27 10:45:33','2023-05-27 10:45:33','7682f5ed-81ad-4a41-88b7-0d9d7c88c65e','ca2862f3-1c13-4c5b-b41b-97d86ee47639'),('2023-05-31 02:28:28','2023-05-31 02:28:28','7a248a62-b975-43df-8ccf-15b5eec87d2a','a4647635-4a97-475b-96bf-3dd47ac51594'),('2023-05-27 08:10:05','2023-05-27 08:10:05','7f54b47a-ee37-4e4b-becb-95793c853ae9','2ccb76cc-4276-4734-8c77-6788fa2edc32'),('2023-05-31 02:55:11','2023-05-31 02:55:11','841452a4-9c91-4bb0-b80d-ccb0a3c2b6f7','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 03:16:06','2023-05-31 03:16:06','8803fc68-2f05-4a19-a43a-297952bdd6d0','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 02:36:22','2023-05-31 02:36:22','8b28e075-3e30-45be-a155-718e38521d44','d1ea4f38-d21e-4d8b-a8bd-8ea9a98a7a54'),('2023-05-31 03:13:40','2023-05-31 03:13:40','8c2a4e35-bffc-4c3d-b4ca-59a397d8bd31','bf1eb9df-947e-4caa-b7d3-3a48bb99d79b'),('2023-05-31 02:51:59','2023-05-31 02:51:59','8d326c9b-3ecc-4391-81bc-e0a2adc5a4e5','a8d7470d-5db8-441c-bdb9-108188dded05'),('2023-05-31 02:44:19','2023-05-31 02:44:19','98c8b33d-15a7-4df2-afec-b2034f7232c8','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 02:50:59','2023-05-31 02:50:59','9d0212b1-611c-4a0e-8842-726946b95635','8abe90d2-e4b4-4f59-8488-14abe8fe562f'),('2023-05-30 02:41:39','2023-05-30 02:41:39','a62a40bb-3771-43ad-8386-af22b3c9a132','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 03:23:35','2023-05-31 03:23:35','ab1f9c3c-49ba-4e12-83c5-43ce6fcaa621','a395a744-c840-4dca-b51e-95e4c49d101f'),('2023-05-31 03:19:45','2023-05-31 03:19:45','b0da8aa3-7b95-413c-bc05-b8cadb1d4332','7f7b7c2c-0612-497c-b8cc-2f921d49a2fc'),('2023-05-31 02:46:20','2023-05-31 02:46:20','b3bf09a6-d891-4ff3-8fdd-11910396ef86','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 03:21:32','2023-05-31 03:21:32','bc0f6c1d-5754-4b20-942e-6902a49349fc','75188792-5b4c-41c1-aa86-01c96ed61f2d'),('2023-05-31 02:27:19','2023-05-31 02:27:19','bc910d94-63bb-495d-bf55-dfe26fdb2fc4','a4647635-4a97-475b-96bf-3dd47ac51594'),('2023-05-27 10:58:03','2023-05-27 10:58:03','bd508a12-8c71-4e0f-b25b-cc03a4466185','4a386e67-daca-4e38-8776-e421576366e0'),('2023-05-27 10:58:03','2023-05-27 10:58:03','bd508a12-8c71-4e0f-b25b-cc03a4466185','660aa4b8-6ee7-4530-bd01-1768ca888818'),('2023-05-27 10:58:03','2023-05-27 10:58:03','bd508a12-8c71-4e0f-b25b-cc03a4466185','b61426da-4bba-4364-9518-741cbe767ff0'),('2023-05-27 10:58:03','2023-05-27 10:58:03','bd508a12-8c71-4e0f-b25b-cc03a4466185','eada7f43-a43f-4908-b843-3c5625d3b2dc'),('2023-05-31 02:26:02','2023-05-31 02:26:02','bea8506d-8eac-4ffd-b389-b2882e41113f','4bd01e36-14d6-4b61-9fb0-f472fc3d7d77'),('2023-05-31 02:52:26','2023-05-31 02:52:26','c50907e8-8342-47b8-a3bb-07710c053d9f','a8d7470d-5db8-441c-bdb9-108188dded05'),('2023-05-31 02:53:00','2023-05-31 02:53:00','c7247daa-211e-4a5c-9d4c-df1bd07e1dc6','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 03:22:02','2023-05-31 03:22:02','c9f6d972-9302-4fae-94f4-2bebde1ca480','56f81c83-245d-4f37-b56f-e214042cc45f'),('2023-05-31 02:26:42','2023-05-31 02:26:42','cb27526c-7b13-4d2d-af4d-cda65d98469c','a4647635-4a97-475b-96bf-3dd47ac51594'),('2023-05-31 03:17:31','2023-05-31 03:17:31','cf64418f-12f8-4b59-a0ef-c411349a8df2','2e4ec79c-2b7b-4130-b55a-d194016f0f80'),('2023-05-31 02:47:55','2023-05-31 02:47:55','d01a4ba7-4175-44fe-bfc8-98205e37941e','f54c09f5-65c4-4b53-9a72-2af6ded55b9d'),('2023-05-31 02:30:06','2023-05-31 02:30:06','da265f7e-ff27-46bf-aa1d-ba2a985025fa','2e4ec79c-2b7b-4130-b55a-d194016f0f80'),('2023-05-31 02:56:54','2023-05-31 02:56:54','e2239ce8-848d-45fe-81e1-00dc02f8c518','af93be64-18f3-4312-9bd3-cc90de556920'),('2023-05-31 02:37:21','2023-05-31 02:37:21','e2ae7d25-c8ea-4577-b31a-93ef88ee98db','070ba774-5ece-497b-91a8-bc41cf03b443'),('2023-05-31 02:32:29','2023-05-31 02:32:29','e62f2e5f-24c9-40fd-8a77-b1320240cd78','9c3f672f-53b6-49cb-a421-c00cc70d7a5b'),('2023-05-31 02:57:41','2023-05-31 02:57:41','e68c6281-d9d6-453b-9d7a-86f98fa8ed7e','755e3290-1549-4a25-9cfb-e427e9adcc2d'),('2023-05-31 02:49:37','2023-05-31 02:49:37','e7ac9048-c9a0-49d6-9c2a-303c5b557611','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 02:34:49','2023-05-31 02:34:49','e839a2e0-9b79-44ff-86be-665039d34c83','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 02:41:48','2023-05-31 02:41:48','e9d80cba-aaa7-4fb1-b0f0-f8856804420c','178feb89-5059-452c-92fc-46ed964b94ba'),('2023-05-31 02:50:27','2023-05-31 02:50:27','eb8ba882-ac03-4516-a550-c4511e926d34','a8d7470d-5db8-441c-bdb9-108188dded05'),('2023-05-27 09:39:35','2023-05-27 09:39:35','ef971245-218e-4420-a472-467516d9c49b','114d366c-d370-44f0-aff2-f0d61600fd0f'),('2023-05-31 02:42:53','2023-05-31 02:42:53','f4ca5aed-842a-46fc-9d6d-822347d2d514','76b5b244-69f5-49c3-a19b-e96b7fc13355'),('2023-05-31 03:19:07','2023-05-31 03:19:07','f881fee7-cc25-4f22-b369-57c439554fa8','31f50223-ae4e-41c6-95f5-1cce90607ff5');
/*!40000 ALTER TABLE `posttag` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping data for table `tags`
--

LOCK TABLES `tags` WRITE;
/*!40000 ALTER TABLE `tags` DISABLE KEYS */;
INSERT INTO `tags` VALUES ('0488923d-8bb7-4f95-8449-30184c66a718','javascript','For questions about programming in ECMAScript (JavaScript/JS) and its different dialects/implementations (except for ActionScript). Note that JavaScript is NOT Java. Include all tags that are relevant to your question: e.g., [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.','2023-05-27 10:45:33','2023-05-27 10:45:33'),('070ba774-5ece-497b-91a8-bc41cf03b443','googlecloud','A googlecloud is a keyword or term assigned to a piece of information','2023-05-31 02:37:21','2023-05-31 02:37:21'),('0c455a4b-6cdc-46d7-839f-09ce6a605202','winapi','The Windows API (formerly called the Win32 API) is the core set of application programming interfaces available for the Microsoft Windows operating systems. This tag is for questions about developing native Windows applications using the Windows API.  ','2023-05-31 03:00:47','2023-05-31 03:00:47'),('114d366c-d370-44f0-aff2-f0d61600fd0f','mysql','MySQL is a free, open-source Relational Database Management System (RDBMS) that uses Structured Query Language (SQL).  DO NOT USE this tag for other DBs such as SQL Server, SQLite etc.  Those are different DBs that all use their own dialects of SQL to manage the data. Always specify the exact version of the server in the question. Versions 5.x differ greatly in their capabilities from versions 8+.','2023-05-27 09:39:35','2023-05-27 09:39:35'),('15b7989e-afc8-46c9-9511-8e45d0d34855','datastore','A datastore is a generic term for a system which stores data. The term datastore includes RDBMS systems, NoSQL systems, memory based systems, flat files, spreadsheets to name just some examples. A given datastore may provide a rich toolset for storing and retrieving data (RDBMS), or it may provide no tools (flat files). ','2023-05-31 02:42:25','2023-05-31 02:42:25'),('178feb89-5059-452c-92fc-46ed964b94ba','js','A js is a keyword or term assigned to a piece of information','2023-05-31 02:33:49','2023-05-31 02:33:49'),('2ccb76cc-4276-4734-8c77-6788fa2edc32','testtag','A testtag is a keyword or term assigned to a piece of information','2023-05-27 08:10:05','2023-05-27 08:10:05'),('2e3eb7a7-67d4-4890-bef7-78c8182a7ca8','unity','A unity is a keyword or term assigned to a piece of information','2023-05-31 02:51:29','2023-05-31 02:51:29'),('2e4ec79c-2b7b-4130-b55a-d194016f0f80','CSS','CSS (Cascading Style Sheets) is a representation style sheet language used for describing the look and formatting of HTML (HyperText Markup Language), XML (Extensible Markup Language) documents and SVG elements including (but not limited to) colors, layout, fonts, and animations. It also describes how elements should be rendered on screen, on paper, in speech, or on other media.','2023-05-30 02:45:20','2023-05-30 02:45:20'),('31f50223-ae4e-41c6-95f5-1cce90607ff5','xreg','A xreg is a keyword or term assigned to a piece of information','2023-05-31 03:19:07','2023-05-31 03:19:07'),('3f90090b-4b8e-44a1-9722-e128be7030db','Markdown','Markdown is a plain text formatting syntax designed so that it can be converted to HTML using a tool by the same name. Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.','2023-05-31 03:14:13','2023-05-31 03:14:13'),('4a386e67-daca-4e38-8776-e421576366e0','httpheaders','A httpheaders is a keyword or term assigned to a piece of information','2023-05-27 10:58:03','2023-05-27 10:58:03'),('4bd01e36-14d6-4b61-9fb0-f472fc3d7d77','database','A database is an organized collection of data. It is the collection of schemas, tables, queries, reports, views, and other objects. The data are typically organized to model aspects of reality in a way that supports processes requiring information.\r\n\r\nUse this tag if you have questions about designing a database. If it is about a particular database management system, (e.g., MySQL), please use that tag instead.','2023-05-31 02:26:02','2023-05-31 02:26:02'),('5373623e-a049-4427-a78a-a95442b61734','reactjs','React is a JavaScript library for building user interfaces. It uses a declarative, component-based paradigm and aims to be efficient and flexible.','2023-05-27 10:45:33','2023-05-27 10:45:33'),('56f81c83-245d-4f37-b56f-e214042cc45f','OS','A OS is a keyword or term assigned to a piece of information','2023-05-31 03:22:02','2023-05-31 03:22:02'),('5ef69670-ecbc-4921-9fdc-10de2941286c','select','Select is a common keyword used to query data. &#39;select()&#39; is also a programming function for triggering code based on file handle or other system activity. Do not use this tag for questions related to: HTML &lt;select&gt; tag (use [html-select]); language integrated query such as LINQ or similar, etc.','2023-05-29 01:32:44','2023-05-29 01:32:44'),('660aa4b8-6ee7-4530-bd01-1768ca888818','cors','Use this tag when you see a message in the browser devtools console about CORS (Cross-Origin Resource Sharing) — e.g., your browser logged an error about Access-Control-Allow-Origin, and you want to know how to eliminate the error. Also for other questions on the CORS protocol (defined in the Fetch Standard as a way to use response headers to tell browsers to relax the same-origin policy and allow cross-origin XHR/Fetch/Ajax requests).','2023-05-27 10:58:03','2023-05-27 10:58:03'),('75188792-5b4c-41c1-aa86-01c96ed61f2d','android','Android is Google&#39;s mobile operating system, used for programming or developing digital devices (Smartphones, Tablets, Automobiles, TVs, Wear, Glass, IoT). For topics related to Android, use Android-specific tags such as android-intent, android-activity, android-adapter, etc. For questions other than development or programming but related to the Android framework, use this link: https://android.stackexchange.com.','2023-05-31 03:21:31','2023-05-31 03:21:31'),('755e3290-1549-4a25-9cfb-e427e9adcc2d','powerbi','Power BI is a free, self-service analytics tool available individually or integrated with Microsoft Excel, Office 365 and many major databases and analytics tools.  ','2023-05-31 02:47:15','2023-05-31 02:47:15'),('76b5b244-69f5-49c3-a19b-e96b7fc13355','abp','ABP is an open source application framework focused on ASP.NET Core based web application development, but also supports developing other types of applications.','2023-05-31 02:42:53','2023-05-31 02:42:53'),('77e2da0c-dea2-4cd1-b3cc-54c87ea5fb0a','Terraform','A tool from Hashicorp is used for defining infrastructure as code. On-topic questions are concerned with the use of the tool itself or how to use the &#39;code&#39; (HCL) to define specific structures. This tag is often used with public-cloud tags, such as &quot;amazon-web-services&quot;, &quot;google-cloud-platform&quot;, or &quot;azure&quot;, to explain further the question being asked.','2023-05-31 03:00:03','2023-05-31 03:00:03'),('798a02e5-e269-415a-a4fc-b203a80c033c','object','An object is any entity that can be manipulated by commands in a programming language. An object can be a value, a variable, a function, or a complex data-structure. In object-oriented programming, an object refers to an instance of a class.','2023-05-27 10:45:33','2023-05-27 10:45:33'),('7f7b7c2c-0612-497c-b8cc-2f921d49a2fc','Clang','For questions about the clang LLVM compiler front end.  For general questions about C, use the C tag.','2023-05-31 03:19:45','2023-05-31 03:19:45'),('7ff96b8b-68da-4acd-9ce0-5aa409f043be','cli','A cli is a keyword or term assigned to a piece of information','2023-05-29 01:32:44','2023-05-29 01:32:44'),('81e01154-5ca2-40c0-9ec6-a16c96d4f046','linux','NOTICE: All Linux questions must be related to programming; those that aren&#39;t will be closed.\r\n\r\nUse this tag only if your question relates to programming using Linux APIs or Linux-specific behavior, not just because you happen to run your code on Linux. If you need Linux support, you can try https://unix.stackexchange.com or the specific Linux distribution&#39;s Stack Exchange site like https://askubuntu.com or https://elementaryos.stackexchange.com/','2023-05-31 02:44:57','2023-05-31 02:44:57'),('82e0a429-e473-4487-90a7-60aa390d6f48','mdtest','A mdtest is a keyword or term assigned to a piece of information','2023-05-27 09:31:26','2023-05-27 09:31:26'),('86c6d3a5-4b3d-4139-9301-a577ef4b6947','ceph','Ceph is a distributed object store and file system designed to provide excellent performance, reliability and scalability.','2023-05-31 02:45:40','2023-05-31 02:45:40'),('8abe90d2-e4b4-4f59-8488-14abe8fe562f','Eclipse','Eclipse is an open source IDE and platform for building applications. There is a wide variety of plugins for various programming languages and other development-oriented tools (such as modeling, database browsing, etc.). This tag should only be used for questions specifically about the Eclipse IDE or platform, not for generalized (Java, etc.) programming topics.','2023-05-31 02:50:59','2023-05-31 02:50:59'),('8f4fb14d-ec1c-4921-9a82-d9deb2edd87f','php','PHP is an open source, multi-paradigm, dynamically-typed and interpreted scripting language designed initially for server-side web development. Use this tag for questions about programming in the PHP language.','2023-05-31 02:58:43','2023-05-31 02:58:43'),('99a63fc5-bc00-43cf-ad3b-74e9de89de6e','testtagthree','A testtagthree is a keyword or term assigned to a piece of information','2023-05-27 09:35:18','2023-05-27 09:35:18'),('9c3f672f-53b6-49cb-a421-c00cc70d7a5b','Python','Python is a multi-paradigm, dynamically typed, multi-purpose programming language. It is designed to be quick to learn, understand, and use, and enforces a clean and uniform syntax. Please note that Python 2 is officially out of support as of 2020-01-01. For version-specific Python questions, add the [python-2.7] or [python-3.x] tag. When using a Python variant (e.g. Jython, PyPy) or library (e.g. Pandas, NumPy), please include it in the tags.','2023-05-30 02:41:38','2023-05-30 02:41:38'),('a395a744-c840-4dca-b51e-95e4c49d101f','loops','Loops are a type of control flow structure in programming in which a series of statements may be executed repeatedly until some condition is met.','2023-05-31 03:23:35','2023-05-31 03:23:35'),('a4647635-4a97-475b-96bf-3dd47ac51594','java','Java is a high-level object-oriented programming language. Use this tag when you&#39;re having problems using or understanding the language itself. This tag is frequently used alongside other tags for libraries and/or frameworks used by Java developers.','2023-05-31 02:26:42','2023-05-31 02:26:42'),('a79c97dc-9066-4448-9994-0ee3514b598a','sap','DO NOT USE THIS TAG as it&#39;s ambiguous. Try using one of SAP&#39;s product/technology names instead. List of known SAP tags on Stack Overflow can be found here: https://meta.stackoverflow.com/a/404098','2023-05-30 02:46:52','2023-05-30 02:46:52'),('a8d7470d-5db8-441c-bdb9-108188dded05','c','C is a general-purpose programming language used for system programming (OS and embedded), libraries, games and cross-platform. This tag should be used with general questions concerning the C language, as defined in the ISO 9899 standard (the latest version, 9899:2018, unless otherwise specified — also tag version-specific requests with c89, c99, c11, etc). C is distinct from C++ and it should not be combined with the C++ tag without a specific reason.','2023-05-31 02:48:24','2023-05-31 02:48:24'),('aa9a0fac-4fd8-4515-bdc9-ba4411bfe7e6','testtwo','A testtwo is a keyword or term assigned to a piece of information','2023-05-27 09:35:18','2023-05-27 09:35:18'),('acb3feb0-3ad4-47c3-b2c3-31eda6380ad9','gui','A gui is a keyword or term assigned to a piece of information','2023-05-31 02:35:46','2023-05-31 02:35:46'),('af93be64-18f3-4312-9bd3-cc90de556920','powerapps','Power Apps is an enterprise service to create and share business apps.\r\n','2023-05-31 02:56:54','2023-05-31 02:56:54'),('b61426da-4bba-4364-9518-741cbe767ff0','nodejs','A nodejs is a keyword or term assigned to a piece of information','2023-05-27 10:58:03','2023-05-27 10:58:03'),('bc1e202d-ae2f-4535-957b-6db42c332be9','pca','Principal component analysis (PCA) is a statistical technique for dimension reduction often used in clustering or factor analysis.  Given any number of explanatory or causal variables, PCA ranks the variables by their ability to explain greatest variation in the data.  It is this property that allows PCA to be used for dimension reduction, i.e. to identify the most important variables from amongst a large set possible influences.','2023-05-31 03:15:21','2023-05-31 03:15:21'),('bf1eb9df-947e-4caa-b7d3-3a48bb99d79b','ja','A ja is a keyword or term assigned to a piece of information','2023-05-31 03:13:40','2023-05-31 03:13:40'),('ca2862f3-1c13-4c5b-b41b-97d86ee47639','arrarys','A arrarys is a keyword or term assigned to a piece of information','2023-05-27 10:45:33','2023-05-27 10:45:33'),('d1ea4f38-d21e-4d8b-a8bd-8ea9a98a7a54','r','R is a free, open-source programming language &amp; software environment for statistical computing, bioinformatics, visualization &amp; general computing.  Please use minimal reproducible examples others can run using copy &amp; paste. Show desired output entirely.  Use dput() for data &amp; specify all non-base packages with library().  Don&#39;t embed pictures for data or code, use indented code blocks instead. For statistics questions, use https://stats.stackexchange.com.','2023-05-31 02:36:22','2023-05-31 02:36:22'),('de284e8b-5754-40b1-bab1-22c00e5e5887','github','GitHub is a web-based hosting service for software development projects that use Git for version control. Use this tag for questions specific to problems with repositories hosted on GitHub, features specific to GitHub, and using GitHub for collaborating with other users. Do not use this tag for Git-related issues simply because a repository happens to be hosted on GitHub.','2023-05-31 02:38:24','2023-05-31 02:38:24'),('e80d19c5-8134-4dc5-961f-a4ffa6e47e75','putty','PuTTY is an open source SSH and Telnet client.  Use this tag only if your question relates to *programming* PuTTY or using PuTTY-based APIs. Questions relating to using or troubleshooting PuTTY usage are off-topic.','2023-05-29 01:32:44','2023-05-29 01:32:44'),('eada7f43-a43f-4908-b843-3c5625d3b2dc','express','Express.js is a minimal and flexible Node.js web application framework providing a robust set of features for building web applications.','2023-05-27 10:58:03','2023-05-27 10:58:03'),('f39852d2-c380-4a81-8a70-47024f89b081','fluxinfluxdb','A fluxinfluxdb is a keyword or term assigned to a piece of information','2023-05-31 02:29:28','2023-05-31 02:29:28'),('f54c09f5-65c4-4b53-9a72-2af6ded55b9d','sql','Structured Query Language (SQL) is a language for querying databases. Questions should include code examples, table structure, sample data, and a tag for the DBMS implementation (e.g. MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, etc.) being used. If your question relates solely to a specific DBMS (uses specific extensions/features), use that DBMS&#39;s tag instead. Answers to questions tagged with SQL should use ISO/IEC standard SQL.','2023-05-31 02:41:20','2023-05-31 02:41:20'),('fa53bd1e-3499-4477-9197-6d5e947e9283','docker','For questions about building and running Docker containers. DOCKER QUESTIONS MUST BE SPECIFICALLY RELATED TO SOFTWARE DEVELOPMENT. Suitable topics include Dockerfiles, Docker Compose, and architecture. As a rule of thumb, if your question is about something happening inside the container, it&#39;s probably on-topic here; if it&#39;s outside the container, it is probably off-topic.','2023-05-31 02:56:04','2023-05-31 02:56:04');
/*!40000 ALTER TABLE `tags` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Dumping data for table `users`
--

LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES ('228395d4-22a8-4ee1-8c83-f00ed0ff6365','butter','$2a$10$ZpHvSxDKdgvcIP7vudtipOKv8dRhluwov.dUv2rqUMRX1FA8aKtxS','https://secure.gravatar.com/avatar/32?s=164&d=identicon',0,'2023-05-31 03:13:00','2023-05-31 03:13:00'),('2a4fc063-1cbf-464d-a2a0-35f8972cc208','zzh111','$2a$10$TguDaiMR6ohiogQ45TDDvu0aeEH7J2oI2Qd2l0aQoCc.dv92/jyJi','https://secure.gravatar.com/avatar/26?s=164&d=identicon',0,'2023-05-30 02:29:55','2023-05-30 02:29:55'),('37aa72a0-4e4a-4f8f-bdaf-fd8a6444cdd0','testuser3','$2a$10$DZKYSpT9UkJ3EfMdzPURpeM7yqkk6Nc7VkdN7BZGAgnTAwYjWU0ou','https://secure.gravatar.com/avatar/63?s=164&d=identicon',7,'2023-05-27 10:43:24','2023-06-03 16:42:05'),('3ae4b6b6-639c-487b-9139-ddd20f9ee5b4','testuser5','$2a$10$LiABAivYVobdnh.4FRBf.uVS4wHY6zY/H2jttlXgPaiG6SbrC.8Da','https://secure.gravatar.com/avatar/31?s=164&d=identicon',0,'2023-05-29 01:31:39','2023-05-29 01:31:39'),('62c54cdd-b570-4783-820f-429c123aae64','joker','$2a$10$uiiluugM55bJtYSoD/sktOFK9kQcrn5wcg5wKJlg3QXdfJk5M9oC6','https://secure.gravatar.com/avatar/47?s=164&d=identicon',0,'2023-05-31 03:18:29','2023-05-31 03:18:29'),('6e948275-83ae-418f-a456-9b9e7dafcd20','testuser2','$2a$10$zQnLM5MHo34xdjZYansM5.Wvcnqurz7tsuQTAIGBIPhLo2OeyVFjC','https://secure.gravatar.com/avatar/35?s=164&d=identicon',1,'2023-05-27 09:26:45','2023-05-27 09:27:04'),('7f758af3-32cf-4d59-86bf-c034672e4ad7','james bond','$2a$10$DyBlo/LFt0lxZCtLG8feN.E83q4QHAN2DFBCufAAqXID3.u1Mi7I6','https://secure.gravatar.com/avatar/28?s=164&d=identicon',0,'2023-05-31 02:27:48','2023-05-31 02:27:48'),('ab9ae668-91d7-4d1d-8671-1a2d7e82c78d','testuser4','$2a$10$6FWPZHjSAnHGs2OU4J.sOebuWTCHuhFef25FV1YZpx0zL4SZJTUcG','https://secure.gravatar.com/avatar/74?s=164&d=identicon',0,'2023-05-27 10:47:13','2023-05-27 10:47:13'),('c501984d-c689-4507-af88-c679a934c981','curry','$2a$10$7bf6dtaFp.AbKQbu6KY8v.R2LdCn7IFaqeoA45iHk7AUOj97oZBdm','https://secure.gravatar.com/avatar/68?s=164&d=identicon',0,'2023-05-31 02:39:33','2023-05-31 02:39:33'),('d1b8903c-7933-43fd-8405-f75d714fa186','testuser1','$2a$10$wWyQWS.TeKO//hqwG.YSSOsuAWfeumtGEIgC0IyczZfdz3ogmaLyG','https://secure.gravatar.com/avatar/26?s=164&d=identicon',9,'2023-05-27 08:06:58','2023-05-29 00:50:09'),('dcc57fa8-bfdf-4192-bdff-f31302fd2511','leborrn','$2a$10$4QX/09VZO2ygvWSc1vUV2Ot27PxV2R/4BcNNJUvmsXVAQp1LJRm9S','https://secure.gravatar.com/avatar/30?s=164&d=identicon',0,'2023-05-31 02:54:25','2023-05-31 02:54:25');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2023-06-04  0:43:49
